腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
如何在
Linux
上为C和C++创建线程安全库?
、
、
、
、
所以,如果我要在windows上编写这个库,我可以使用关键区段对象,但是在
Linux
中应该使用什么呢?以下是我的选择: Rest选项看起来比基于
互斥
的解决方案慢得多。 有谁知道在
Linux
上创
浏览 5
提问于2017-04-26
得票数 1
回答已采纳
1
回答
当共享
POSIX
互斥
锁时,我能重新映射它吗?
、
、
、
、
假设共享
POSIX
互斥
体已经初始化(使用PTHREAD_PROCESS_SHARED)。.);
POSIX
是否保证这将按照“天真”的意图运作?另外,下面这个特定于
Linux
的备选方案是什么?如果
互斥
锁配置为健壮(PTHREAD_MUTEX_ROBUST),则如果进程在
互斥
锁期间死亡,则允许实现将
互斥
标记为“放弃”。我不知道这样的方案是否真的
浏览 5
提问于2013-02-27
得票数 5
2
回答
在
linux
上,如何确保解锁死/终止线程中锁定的
互斥
?
、
、
、
在
linux
上,如何确保解锁死/终止的
POSIX
线程中锁定的
POSIX
互斥
锁?当
Linux
向程序发送终止或终止信号时,它会自动释放吗?但是,我找不到操作系统如何做到这一点的更多细节?
浏览 2
提问于2012-02-09
得票数 4
回答已采纳
3
回答
用C/C++命名进程内部
互斥
锁?
、
、
、
、
是否有使用C/C++ (在Unix/
Linux
中)实现命名进程内部
互斥
锁的方法?如果您使用内存映射文件或共享内存,您将获得文件系统持久性... 有什么想法吗?
浏览 0
提问于2011-09-24
得票数 0
1
回答
如何保证每个线程平均共享
互斥
?
我试图找出如何确保每个线程(
Linux
中的
POSIX
线程)平均进入一个
互斥
锁。 在我的程序中,有一个全局队列,它有自己的
互斥
锁。几个写线程一次向队列中写入一个元素,一个读线程每次从队列中读出一组元素。所以我的问题是如何确保每个线程平均访问
互斥
锁。任何意见,我们将不胜感激!
浏览 2
提问于2012-03-20
得票数 1
1
回答
与
POSIX
系统的调度有关的
互斥
和线程优先级
、
、
、
、
在
POSIX
系统(
linux
等)中,当多个线程锁定一个公共
互斥
对象时--是总是观察到的锁定顺序,还是在调度关键部分中的下一个线程时,线程优先级偏高的线程? 标准中有没有提到任何关于行为的内容?请注意,我正在寻找关于任何符合
POSIX
的系统(不仅仅是
linux
)的指导,所以请随意建议其他OSes (QNX、Minix等)的行为。
浏览 8
提问于2012-04-30
得票数 2
2
回答
如何获得线程中锁定的
互斥
线程的线程id
、
、
、
、
线程有一个类型为pthread_mutex_t的
互斥
锁。另一个线程想知道持有这个锁定
互斥
体的线程的线程id。我想比较
浏览 0
提问于2014-08-26
得票数 2
回答已采纳
1
回答
互斥
锁是否使等待线程在
POSIX
API中休眠?
、
、
、
、
我们可以在
POSIX
API中使用
互斥
锁,如下所示:pthread_mutex_lock(&mutex);/* release the mutex lock */
POSIX
API是否让等待线程进入休眠状态?
浏览 1
提问于2020-02-02
得票数 1
回答已采纳
1
回答
如何使用线程库在堆上的特定位置创建锁?
、
我使用mmap分配内存,以集关联的方式存储一些数据,在这里我希望并发访问集合。因此,如果有K集,那么我将为第一个插槽用于元数据的集合分配K+1插槽。这里,在元数据槽的开头,我想存储一个锁。那么我如何在这个特定的位置创建一个锁呢?我发现,使用大型操作符时,锁的大小是40B。所以我确保每个条目至少是40B。 pthread_mutex_t锁; 因为调试并发程序很困难,所以如果有人能够判断它是否正确,那么它将是很棒的。谢谢。
浏览 1
提问于2019-10-03
得票数 3
回答已采纳
4
回答
在崩溃后获得名为mutex的boost进程间
、
、
、
、
我使用的是使用boost::interpocess::scoped_lock的named_mutex和timeout;我在
Linux
中运行。在我的一次测试中,我遇到了一次崩溃:从那时起,每次我尝试再次运行应用程序时,它都会停留在我创建锁的位置上;看起来
互斥
锁仍然是以某种方式获得的(不可能使用它的进程正在运行)。named_mutex.hpp> bi::named_mutex m_mutex; boost::
posix</em
浏览 8
提问于2011-10-18
得票数 8
回答已采纳
1
回答
在共享库中使用哪种类型的锁机制,即由
posix
线程访问
、
、
我有一个使用
POSIX
线程的应用程序,即使用一个静态库,它有一些全局变量,而我在libray中没有任何线程实现。有人告诉我,如果你在那个文件中使用pthread,那么你应该使用pthread_mutex,否则就是简单的
互斥
。 因为库是无线程的,所以在库中使用哪个锁(特别是
互斥
)来保护全局变量。我尝试过
linux
/kernel/mutex.h,显然不适合在用户空间使用内核的对象,编译器也有警告。那么我从哪里得到这个简单的
互斥
锁呢!
浏览 1
提问于2013-06-24
得票数 0
1
回答
为什么boost的进程间
互斥
锁在
posix
上并不健壮?
、
、
我是boost的新手,只是想了解其中的一小部分--进程间
互斥
。另外,在使用文件锁的跨平台实现中有一个健壮的
互斥
仿真:#if !) #define BOOST_INTERPROCESS_USE_
POSIX
//Ex
浏览 5
提问于2016-11-07
得票数 4
5
回答
为什么pthread
互斥
被认为比futex“慢”?
、
、
、
为什么
POSIX
互斥
锁被认为比futexes更重或更慢?pthread
互斥
类型的开销来自哪里?我听说pthread
互斥
是基于futexes的,当没有竞争时,不要对内核进行任何调用。看来pthread
互斥
锁仅仅是futex的“包装器”。 开销是否仅仅体现在函数包装器调用和
互斥
函数“设置”futex上(即,基本上设置pthread
互斥
函数调用的堆栈)?或者是否有一些额外的内存障碍步骤发生在pthread
互斥
中?
浏览 0
提问于2011-06-16
得票数 49
回答已采纳
1
回答
文件描述符引用的对象类型是什么?
、
、
、
我想知道在
Posix
/Unix中作为文件描述符实现了哪些对象类型。 在
Linux
上,消息队列描述符实际上是一个文件描述符。(
POSIX
不需要这样的执行。)是否有fd-版本的线程同步对象(信号量,
互斥
,cond)?有单子吗?
浏览 2
提问于2022-01-18
得票数 0
1
回答
对于boost interprocess_mutex来说,拥有“进程持久性”意味着什么?
、
、
、
在中,(匿名)进程共享
互斥
类型具有进程持久性,其定义如下: 那是图书馆里的虫子吗?
浏览 0
提问于2019-04-10
得票数 0
1
回答
为什么
POSIX
将信号量标准化为系统调用,而将
互斥
和条件变量留给P线程(用户级别)
、
、
、
、
为什么
POSIX
将对信号量的支持标准化为syscall,而将条件变量和
互斥
对象留给线程库呢?我也不知道。猜测性能是不将
互斥
实现为syscall的考虑因素。(原子硬件指令是无特权的,因此在用户级别实现它们是可能的。尽管
Linux
提供了futex,但它实际上正试图将自旋锁优化为两阶段锁,以实现睡眠锁)。信号量的原因是信号量可以被不同的进程所操纵,而
互斥</e
浏览 4
提问于2020-03-03
得票数 1
回答已采纳
5
回答
促进进程间
互斥
和检查放弃
、
、
因为这段代码需要在Windows和
Linux
上工作,所以我用Boost Interprocess
互斥
包包装。一切正常工作,接受我的方法,检查放弃
互斥
。这是有可能发生的,所以我必须做好准备。我已经在测试中放弃了
互斥
锁,当然,当我使用scoped_lock锁定
互斥
锁时,进程将无限期地阻塞。open_or_create, "MutexName"); // ScopedLock lock(*pGate); // this blocks in
浏览 4
提问于2013-04-02
得票数 8
回答已采纳
2
回答
分析网络应用程序(套接字处理程序等)中的资源泄漏
、
、
尤其是在使用
linux
套接字和管道时。 也许有一个for-
posix
工具可以测量程序使用了多少
posix
资源(有多少套接字、多少线程、多少
互斥
锁等)。
浏览 1
提问于2011-02-22
得票数 0
回答已采纳
1
回答
无法用boost信号量构建应用程序
、
interprocess::ipcdetail::semaphore_init(sem_t*, unsigned int)': /usr/include/boost/interprocess/sync/
posix
在函数boost::interprocess::ipcdetail::semaphore_destroy(sem_t*)': /usr/include/boost/interprocess/sync/
posix
浏览 4
提问于2014-07-25
得票数 0
3
回答
在C++中从多个线程访问静态常量变量
、
、
我有一些在
Linux
(C/C++和
POSIX
线程)下进行多线程编程的经验,但是最明显的情况有时非常复杂。我的代码中有几个静态常量变量(全局和函数局部),我可以在不使用
互斥
的情况下从多个线程同时访问它们吗?因为我没有修改它们,所以应该没问题,但最好还是问一下。我必须进行高速度的优化,所以即使像
互斥
锁/解锁这样的快速操作对我来说也是相当昂贵的,特别是因为我的应用程序将以长循环的形式访问这些变量。
浏览 1
提问于2010-05-17
得票数 5
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Linux系统编程 互斥量mutex
互斥与同步
Go语言互斥锁
详解Linux多线程中的互斥锁、读写锁、自旋锁、条件变量、信号量
互斥不当的隐患
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券