腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Linux
如何
实现
‘队列自旋
锁
’?
、
根据的文章,从4.2版开始,
Linux
内核就会有队列自旋
锁
。但是在4.4版中,我研究了spin_lock的
实现
,发现它们在kernel/locking/spinlock.c中
实现
了这样的自旋
锁
} \ 在do_raw_spin_trylock中有一个do_raw_spin_trylock,基本上它只是一个TATAS自旋
锁
。它是隐藏
浏览 2
提问于2016-01-18
得票数 1
回答已采纳
2
回答
如何
在
linux
中使用自旋
锁
?
、
、
、
我是一名计算机科学专业的学生,我有一个任务要求我使用自旋
锁
锁定一个线程,并在它的关键部分完成后解锁它。困难是我搜索了很多次,但没有找到任何有用的信息。例如,我试图包括像#include <
linux
/spinlock.h>这样的标题,但是当我使用gcc编译这个c程序时,它说找不到这样的头。那么,我应该包括哪些标头,需要调用哪些函数才能使用自旋
锁
?
浏览 4
提问于2016-11-26
得票数 2
1
回答
如何
在
Linux
中
实现
自旋
锁
?
、
我正在考虑
如何
在
Linux
中为spinlock
实现
“防止上下文切换”的特性。大图片/伪代码是可以接受的,因为我只是知道它背后的逻辑。
浏览 0
提问于2018-12-27
得票数 2
回答已采纳
3
回答
如何
检查
Linux
线程的状态?
、
我
如何
使用代码而不是工具来检查
Linux
线程的状态?我想知道线程是否正在运行、被
锁
阻塞或由于其他原因而休眠。我知道
Linux
工具"top“可以完成这项工作。而是
如何
在我自己的代码中
实现
它。谢谢。
浏览 15
提问于2012-03-06
得票数 4
1
回答
C++中的监视器和互斥同步
、
我将使用互斥量和监视器在C中
实现
合并排序,但我找不到一个好的源代码。
如何
用C
实现
互斥
锁
和监视器? 我使用的是
Linux
(Ubuntu)。
浏览 0
提问于2013-04-29
得票数 0
3
回答
CreateMutex()在内部是
如何
工作的?
、
我想知道,它是
如何
在内部工作的,操作系统是
如何
管理它的?
浏览 0
提问于2010-01-20
得票数 0
3
回答
便携式c++原子交换(Windows /
Linux
)
、
、
、
是否有免费的便携 (Windows、GNU/
Linux
和MacOSX)库提供无
锁
的原子交换函数?谢谢
浏览 4
提问于2010-02-23
得票数 5
2
回答
c/c++群集作为
linux
上的互斥,对文件删除不健壮
、
在C中使用flock的文件锁定通常用于
实现
跨平台的协作进程间锁定/互斥
锁
。一段时间后,我手动删除了
锁
文件(rm /tmp/lockfile)。正在运行的进程继续相互协作,但是任何想要开始使用相同的资源
浏览 2
提问于2015-12-16
得票数 3
2
回答
如果文件在Win10 PC上的samba共享上,在带有O_RDWR | O_CREAT | O_EXCL的
linux
上的open()是原子的吗?
、
、
我正在将一些代码从Win32移植到使用
锁
文件的
Linux
上。我用open为
Linux
做了一个
实现
,但我只是不确定如果文件在Samba共享上,它是否会工作。为此,我使用带有O_CREAT | O_EXCL的
linux
open(),以便只有在文件尚不存在时才能成功创建该文件。如果运行我的软件的多台计算机同时尝试创建
锁
文件,那么下面的函数调用会是原子的吗?我不关心谁得到了
锁
,只要只有一个人得到了
锁
,所有其他人都没有得到
锁
。对于那些没有得到
浏览 57
提问于2019-06-05
得票数 2
1
回答
C++中的非独占共享内存
锁
、
、
我在
Linux
上,我想在大约5-10个进程之间共享内存(每个进程都是一个C程序)。我知道
如何
使用POSIX信号量(sem_open、sem_wait、sem_post等)或其他信号量(semctl、semget、semop等)做到这一点。问题是我只知道
如何
做独占信号量
锁
。我想要非排他
锁
。 在我的应用程序中,只有一个进程写入共享内存,而所有其他进程只读取它。我希望能够对信号量执行非独占读锁定(就像使用shell命令flock一样)。
浏览 4
提问于2013-12-01
得票数 2
1
回答
std::this_thread::yield和
linux
上的sched_yield有什么不同吗?
、
我只是想知道std::this_thread::yield是
如何
在
linux
上
实现
的,它与sched_yield有什么不同吗?我已经看到了一些自旋
锁
实现
,这意味着std::this_thread::yield是比sched_yield更轻量级的东西,在线程放弃进程的时间方面,这是真的吗?
浏览 2
提问于2020-01-05
得票数 2
回答已采纳
1
回答
在
Linux
中锁定串口和其他设备的最佳实践是什么?
、
、
其目标是“锁定”对串行设备或其他
Linux
设备的访问权限,以确保在使用中时对设备的独占访问。例如,这样可以防止两个程序打开同一个串行设备,并“竞争”从设备读取字节。建议使用SYSV风格的UUCP设备
锁
文件,如/var/lock/LCK..ttyS1。这是推荐的。它也被记录在中。它由串行终端程序(如gtkterm、picocom )
实现
。有像和这样的库来支持这一点(尽管这两个库之间的
实现
细节不同)。 然而,我发现了,它说在
Linux
上,SYSV风格的UUCP设备
锁</e
浏览 5
提问于2015-05-19
得票数 13
2
回答
如何
在内核中的互斥
锁
解锁期间检查所有权?
、
、
我试图理解
Linux
内核中互斥
实现
的内部机制。在我看来,互斥
实现
最基本的问题之一是 {} 那么,它
如何
检查调用解锁函数的线程是否实际上是锁定的线程
浏览 1
提问于2015-08-18
得票数 1
2
回答
boost::shared_mutex比
Linux
上的粗std::mutex慢
、
、
、
、
在我用GCC 6.1.1开发的Arch
Linux
x86_64系统上,boost::shared_lock版本总是慢的!
浏览 4
提问于2016-05-18
得票数 5
回答已采纳
1
回答
如何
检查pthread_mutex是否基于健壮的futex
、
、
、
我试图在
Linux
中使用基于鲁棒futex的线程互斥
锁
,因为我需要快速和健壮(恢复“死”
锁
)。
如何
检查任何
Linux
系统上的线程互斥库是否基于健壮的futex? 谢谢!
浏览 6
提问于2013-07-02
得票数 1
2
回答
链接p线程将禁用无
锁
的shared_ptr
实现
。
、
、
、
、
atomic_is_lock_free(&ptr);}g++ -std=c++11 -march=native main.cppg++ -std=c++11 -march=native -pthread main.cppGCC版本:5.3.0 (在
Linux
上使用libstdc++),在多台机器上进行测试,这些
浏览 7
提问于2016-02-17
得票数 1
回答已采纳
1
回答
filp-> freeBSD中的private_data等效项
、
、
、
、
我正在将我的
linux
驱动程序移植到freebsd。我使用"filp->private_data“变量存储驱动程序所需的一些信息。(以避免多线程情况下的
锁
)。我发现BSD在
linux
中不使用"file“结构,而是使用cdev。cdev没有"private_data“变量。但我相信在BSD中一定有其他的变量?谢谢。
浏览 2
提问于2013-03-19
得票数 1
回答已采纳
1
回答
便携式写作器-读写器自旋
锁
、
、
但是,与没有使用锁相比,它要慢得多(在我的测试中:没有任何读取器,如果没有使用
锁
,编写50万个值需要100毫秒,如果使用boost::shared_mutex,则需要大约500毫秒)。我想做一个可移植的自旋
锁
(Windows +
Linux
)。 是一个很好的主题,它展示了
如何
在Windows上
实现
自旋
锁
。但是,我无法在
Linux
上找到Win32 API的等价物,如InterlockedCompareExchange、Yield
浏览 1
提问于2016-03-08
得票数 1
1
回答
Linux
上的FileLock问题
、
、
、
我在
Linux
服务器上使用Java的文件锁定API,并试图在远程
Linux
系统上锁定文件。有一些问题已经弹出,日志显示,2不同的集群节点、运行相同Java应用程序的能够两个获得同一个NFS文件的
锁
。在线阅读Java
如何
处理
锁
和
Linux
文件锁定(我们通常部署在Windows上,所以很少有经验),我们所做的应该工作。我们实际上是在发出建议
锁
,但是由于两个集群节点运行的代码相同,它们正在协作进程,并且在开始执行任何读写操作之前检查
锁
的获取情况。然而,情况似
浏览 4
提问于2022-08-08
得票数 0
回答已采纳
3
回答
比较和交换的工作原理
、
、
、
我读过相当多的帖子,说比较和交换保证原子性,但是我仍然不能理解它是
如何
做到的。int newvalue) int temp = *ptr; *ptr = newvalue}void lock(int *mutex) while(!CAS(mutex, 0 , 1));这
如何
防止两个线程同时获取互斥
锁
?
浏览 2
提问于2014-03-12
得票数 28
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Redis如何实现乐观锁
【精通内核】Linux内核rcu(顺序)锁实现原理与源码解析
如何实现Linux与Windows的文件互传?
如何使用Cron Jobs实现Linux提权
Linux下如何实现与Internet时间同步
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券