腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
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备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券