![]() |
1
2
应用程序代码可能应该使用posix线程函数。我想你有这么多的手册
仔细阅读它们以及对它们进行操作的函数,以了解您需要什么。 如果你在做内核模式编程,那就另当别论了。你需要对你在做什么,花多长时间,以及在什么样的环境中被调用有一个感觉,才能知道你需要使用什么。 |
![]() |
2
2
感谢所有回答的人。我们使用gcc原子操作来同步所有线程。原子操作比设置一个没有同步的值慢大约2倍,但是数量比锁定一个互斥锁、更改值、然后解锁互斥锁快(当你开始让线程进入锁时,速度会变得非常慢…)我们只使用pthread掴create、attr、cancel、an杀戮。我们使用pthread_kill来向线程发送信号,使其在进入睡眠状态时醒来。这种方法比cond_wait快40倍。所以基本上…如果有时间的话,使用pthreads_mutex 浪费 . |
![]() |
3
0
此外,你还应该检查下一本书
和
|
![]() |
4
0
关于问题8 有没有比在没有工作的情况下利用一个条件来睡眠线程更好的方法呢? 是的,我认为最好的方法不是睡觉 正在使用函数sem_post()和sem_wait of“semaphore.h” 当做 |
![]() |
5
0
关于futex的一个注释-它们被称为 快速用户空间互斥 . 对于futex,只有在需要仲裁时才涉及内核,这就提供了速度和节省。 实现futex可以是 extremely tricky (pdf),调试它们会导致疯狂。除非你真的,真的,真的需要速度,否则通常最好使用pthread互斥实现。
同步从来都不是
|
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 8 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 8 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 8 月前 |
![]() |
András Takács · Python多线程问题 1 年前 |
|
András Takács · Python多线程错误 1 年前 |