我在某个地方读到,互斥量的开销并不大,因为上下文切换只发生在争用的情况下。
在Linux中也知道Futexes。
同样的东西在Windows中也适用吗?是一个更适合于Linux中互斥的映射。
从我收集到的信息来看,与Mutex相比,关键部分提供了更好的最佳性能,这对每种情况都是正确的吗?
在Windows中,是否存在互斥量比关键部分快的情况。
假设只有一个进程线程正在访问互斥项(只是为了消除关键部分的其他好处)。
添加信息: OS windows Server,
Language C++
我正在为一个使用2.6.24.3内核的嵌入式Linux项目开发一个用户空间应用程序。我的应用程序通过创建2个pthread在两个文件节点之间传递数据,每个pthread都处于休眠状态,直到异步IO操作完成,此时它将唤醒并运行完成处理程序。
完成处理程序需要跟踪有多少传输挂起,并维护一些链表,一个线程将添加到这些链表中,而另一个线程将删除这些链表。
// sleep here until events arrive or time out expires
for(;;) {
no_of_events = io_getevents(ctx, 1, num_events, events, &