![]() |
1
1
如果您有幸在多线程环境中工作,最好的方法之一是让全局链接列表由单独的线程独占控制。中断会将请求排队到这个线程(例如,通过简单地传递一个指针,可以很快地执行某些操作),然后线程会按程序遍历每个请求并修改链接列表。这允许无锁执行。 当然,你必须依赖你的操作系统的消息传递垃圾,所以这可能不是一个选择。 |
![]() |
2
1
|
![]() |
3
1
从 http://users.evtek.fi/~tk/rtp/signals-programming.html 保证完全没有竞争的方法是让系统在调用信号处理程序之前为我们设置信号屏蔽。如果我们使用sigaction()系统调用来定义执行处理程序时要使用的信号处理程序函数和信号掩码,则可以完成此操作。现在您已经熟悉了信号处理的各种概念,您可能可以自己阅读sigaction()的手册页了。但是,在旧系统上,您找不到这个系统调用,但是您仍然可以找到sigvec()调用,它启用了类似的功能。 |
![]() |
4
0
我认为你应该把信号按顺序排列,就像工作队列一样 |
![]() |
Pikachu620 · 可以对事件列表进行排序吗? 2 年前 |
![]() |
ManP22 · 我想在同一次单击中调用两个常量 2 年前 |
![]() |
Pepe · 如何在JavaScript中的函数之间恢复/传递事件对象 2 年前 |