腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
pthread_posix_mutex -无法实现功能
、
、
、
、
Thread1 CCbefore 10sec sleep in main threadafter 10sec sleep in main thread编辑2: 确认实现错误:<em
浏览 8
提问于2014-07-22
得票数 1
回答已采纳
2
回答
用原子替换条件?
、
、
round_robin_next_ = 0; round_robin_next_++; pthread_spin_unlock(&slock); 我使用了一个自旋
锁
,以确保上面的
线程
安全,并确保每个
线程
都获得与前一个
线程
相比的下一个round_robin_next_值。我的问题是,上面的
锁
可以通过使用
gcc
的内部机制来释放吗?或者一些特定于平台的指令?我使用的是64位
Linux
,使用的是
gcc</
浏览 7
提问于2013-07-05
得票数 1
回答已采纳
2
回答
如何在
linux
中使用自旋
锁
?
、
、
、
我是一名计算机科学专业的学生,我有一个任务要求我使用自旋
锁
锁定一个
线程
,并在它的关键部分完成后解锁它。困难是我搜索了很多次,但没有找到任何有用的信息。例如,我试图包括像#include <
linux
/spinlock.h>这样的标题,但是当我使用
gcc
编译这个c程序时,它说找不到这样的头。那么,我应该包括哪些标头,需要调用哪些函数才能使用自旋
锁
?
浏览 4
提问于2016-11-26
得票数 2
1
回答
使用具有不同
线程
框架的pthread mutex
、
、
我正在用C编写一个操纵杆库,我想让它成为
线程
安全的。可以使用pthread互斥
锁
吗?即使使用我的库的应用程序使用ACE作为
线程
框架(不确定ACE是否只是扩展了pthread,但假设它不是),它们也能正常工作吗?Windows也是如此:我可以在mingw+
gcc
中将Windows的CriticalSection与pthread结合使用吗?或者
线程
是操作系统必须做的事情,以便始终使用本机实现(在
Linux
上是pthread,在Windows上是CriticalSection )?
浏览 1
提问于2012-08-14
得票数 0
回答已采纳
3
回答
Linux
线程
在GDB下的性能非常快,但在GDB下却非常慢。
、
、
、
、
我正在开发一个运行在
Linux
上的嵌入式C++应用程序。我最近遇到了一些关于pthread的非常奇怪的性能问题。 我的系统有8个来回传递信息的
线程
,使用pthread互斥
锁
保护。当我的应用程序独立运行时,
线程
性能在使用互斥
锁
时极其缓慢。在500 MHz的ARM板上锁定和解锁互斥
锁
大约200次需要2.4秒,在我的200 MHz板上需要更长的时间。我已经在两个不同的基于ARM的SBC上测试了这种行为:一个运行
Linux
2.4.26,带有
gcc
3.4.4
浏览 2
提问于2010-01-05
得票数 3
回答已采纳
3
回答
快速
线程
同步
、
、
、
我正在开发一个拥有多个
线程
和一个共享对象的系统。有许多
线程
经常进行读操作,但写操作很少,每天可能有3到5次。 我使用rwlock进行同步,但是
锁
获取操作不够快,因为它总是发生。也许是一种让写函数原子化或者在写过程中查看所有
线程
的方法。可移植性这不是一个苛刻的要求,我使用的是带有
GCC
4.6的
Linux
。
浏览 2
提问于2012-04-29
得票数 2
回答已采纳
2
回答
传递pthread_mutex_t到函数
、
、
把
线程
锁
传递给函数可以吗?我之所以要求这样做,是因为我有很多
线程
,比如10,充当使用者,和2个生产者,每个使用者
线程
都有自己的链接列表(缓冲器),生产者会根据特定的规则将数据发送到这些
线程
中的一个,所以有时候生产者1发送给消费者所以我在想这个, 生产者1调用函数链接-列表来共享数据(IPC)并将lock5传递给这个函数,在这种情况下,它将是
锁
5。当使用者5调用函数链接列表时,它将传递它的
锁
(consumer5总是使用lock5),如果生
浏览 1
提问于2012-12-25
得票数 0
3
回答
在一个
线程
中锁定互斥
锁
,在另一个
线程
中解锁互斥
、
pthread_mutex_lock(mutex2); pthread_mutex_unlock(mutex1);} 在实际的应用程序中,我有三个
线程
我需要第三个
线程
在其中一个
线程
添加新项后立即显示数组的内容。
浏览 0
提问于2011-01-06
得票数 11
回答已采纳
1
回答
在
Linux
中哪里可以找到互斥、未来等的源代码?
、
容器代码可以在/usr/include/c++/4.8.5/bits中找到。其他stl库的源代码呢,比如mutex、future等?
浏览 2
提问于2018-11-05
得票数 0
1
回答
如何调试读写器
锁
的死锁?
、
、
我正在编写一个程序,它有一个
线程
将点文件读入缓冲区,还有许多
线程
从缓冲区获取点并构造一个八叉树。八叉树的每个立方体都受到一个读写
锁
(又称shared_mutex)的保护,这个
锁
有67个(如果有两个
线程
,现在有两个
线程
)。如果文件太大,程序就会死机,而我在尝试调试它时遇到了困难。这没有任何意义,因为只有两个
线程
,所以只有两个
线程
可以读取它们;在构建八叉树阶段,它们应该是写锁定而不是读锁定互斥
锁
,并且-7看起来像是七个
线程</em
浏览 3
提问于2020-06-26
得票数 0
2
回答
QReadWriteLock递归模式不起作用
、
、
、
、
在
Linux
qt 4.7.4下,使用
gcc
4.4.3,以下代码可以很好地编译,并且没有运行时错误。mutex.lockForRead(); msleep(100); }
锁
被同一
线程
锁定了几次根据手册在回复克里斯:
锁
浏览 0
提问于2011-12-07
得票数 1
3
回答
使用free()时,内存使用量不会减少
、
、
、
我正在编写独立于操作系统的无
锁
队列,到目前为止它工作得很好,但内存管理有一个小问题。我不确定是
gcc
的问题还是我的问题。有趣的是,在VS2010(相同的代码,没有
线程
)中,空闲工作得很好,内存被释放(监视任务管理器)。Windows ~57秒Windows(无空闲)- 0.9秒 因此,问题是,为什么在没有使用
线程
的情况下,<
浏览 1
提问于2012-11-05
得票数 9
回答已采纳
3
回答
比较和交换的工作原理
、
、
、
例如,如果我用它来实现一个互斥
锁
,{ } 这如何防止两个
线程
同时获取互斥
锁
?
浏览 2
提问于2014-03-12
得票数 28
5
回答
linux
线程
同步
、
、
、
、
我是
linux
和
linux
线程
的新手。我花了一段时间在googling上试图了解
线程
同步可用的所有函数之间的区别。我还有一些问题要问。
gcc
原子运算 信号量处理范围很广,涉及文件系统(实际上我认为),而且可能是最慢的许多上下文切换将被浪费,直到重新安排和完成带有
锁
的
线程
为止。在没有工作的情况下,有比使用条件来睡眠
线程</em
浏览 6
提问于2010-04-07
得票数 5
回答已采纳
1
回答
如何检查pthread_mutex是否基于健壮的futex
、
、
、
我试图在
Linux
中使用基于鲁棒futex的
线程
互斥
锁
,因为我需要快速和健壮(恢复“死”
锁
)。如何检查任何
Linux
系统上的
线程
互斥库是否基于健壮的futex? 谢谢!
浏览 6
提问于2013-07-02
得票数 1
1
回答
使pthread_rwlock_wrlock递归
、
、
、
关于p
线程
函数的行为,我有问题。上面链接的规范指出,当一个
线程
锁定了写
锁
,而同一个
线程
再次锁定它时,它会导致未定义的行为(我实际上可以观察到这一点,因为在x86
Linux
上调用该函数是一个noop,而在PowerPC
Linux
上它会阻塞
线程
我需要的行为是具有以下特征的读写
锁
:
锁
不是由任何
线程
持有的。
锁
只被零或多个
线程
(包括调用
浏览 2
提问于2011-08-19
得票数 7
回答已采纳
1
回答
为什么当程序没有链接到
线程
库时,pthread_mutex_lock总是返回0(但没有错误)?
、
、
、
、
我最近偶然发现了一个我认为是相当奇怪的p
线程
库行为(或者至少在
Linux
16,Ubuntu 2.17-93ubuntu4,NPTL 2.17,
gcc
Ubuntu/Linaro 4.8.1-10 ubuntu9在编译p
线程
程序时,我意外地忘记了将它链接到p
线程
库(也就是说,我忘了将-lpthread标志添加到
gcc
命令行)。但是,我编译程序时启用了所有警告(-Wall),绝对没有收到警告或错误。当我运行这个程序时,我想,好像
锁
根本不起作用一样。me@mybo
浏览 3
提问于2014-08-24
得票数 2
回答已采纳
1
回答
在尝试mutex_lock时被阻塞的
线程
如何知道
锁
是由另一个
线程
释放的?
、
、
、
在
Linux
中,我有这样一个场景:两个
线程
执行一个临界区,一个
线程
获取
锁
(
线程
A),另一个
线程
(
线程
B)等待
锁
。稍后,threadA释放互斥
锁
。我正在尝试理解如何将threadB移动到运行状态并获取
锁
?threadB(或操作系统)如何知道
锁
是由threadA释放的? 我有一个理论,如果我错了,请纠正。threadB进入等待( TASK_INTERRUPTABLE )状态(在互斥
锁
被
浏览 76
提问于2020-12-30
得票数 0
1
回答
一个正在旋转并试图获得自旋
锁
的
线程
不能被抢占吗?
、
、
、
当
Linux
上的
线程
正在旋转并试图获得自旋
锁
时,这个
线程
不可能被抢占吗?我只想确定一些事情。在“向上”系统上,并且没有中断处理程序将访问这个自旋
锁
。如果正在旋转并试图获得自旋
锁
的
线程
可以被抢占,我认为在这种情况下,spinlock保护的关键部分可以调用sleep,因为保持自旋
锁
的
线程
可以重新调度回CPU。
浏览 5
提问于2015-11-26
得票数 2
1
回答
一个
线程
获取一个信号量,而另一个
线程
释放它的有效用例是什么?
、
Linux
信号量和互斥
锁
之间的区别在于互斥
锁
可以由锁定它的
线程
解锁。但是,一个
线程
锁定和另一个
线程
解锁的用例是什么呢?
浏览 2
提问于2017-06-05
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
Java 线程锁技术
Python中的线程锁
线程锁技术的使用
Python并发:线程和锁
热门
标签
更多标签
云服务器
ICP备案
云直播
对象存储
腾讯会议
活动推荐
运营活动
广告
关闭
领券