- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
来自http://lkml.indiana.edu/hypermail/linux/kernel/0103.1/0030.html我了解了 Linux 中的一种新型互斥体,一种 adaptive_np 互斥体:
The PTHRED_MUTEX_ADAPTIVE_NP is a new mutex that is intended for high throughput at the sacrifice of fairness and even CPU cycles. This mutex does not transfer ownership to a waiting thread, but rather allows for competition. Also, over an SMP kernel, the lock operation uses spinning to retry the lock to avoid the cost of immediate descheduling.
提到了“立即取消计划的成本”。这个费用是多少? (就 cpu 节拍而言;TLB、TSS 以及其他重新加载)在“立即取消调度请求”和再次重新调度回运行状态之间内核中做了什么?
如何进行显式取消调度以及如何衡量其成本?
最佳答案
看起来它只是一个旨在让线程避开调度程序的轻量级互锁。
这个想法是用在自旋锁中花费的很短的时间来取代相对繁重的基于上下文切换的操作。
不管"new"的使用,自旋锁和山一样古老。我想,它在大约 10 年前对那个 pthread 库来说是新的。
“显式取消调度”大概与上下文切换相同,因此您可以通过让两个线程 yield()
CPU 相互一百万次来衡量这一点,并衡量运行时间。
关于Linux 内核 : the cost of immediate descheduling,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267121/
来自http://lkml.indiana.edu/hypermail/linux/kernel/0103.1/0030.html我了解了 Linux 中的一种新型互斥体,一种 adaptive_np
我已经使用 cron4j 开始一项任务,每天在特定条件下(他们还没有完成他们的工作)使用 Stripes ActionBean 向人们发送电子邮件。 我在 MySQL 中保存了任务 ID。 然而,我似
我是一名优秀的程序员,十分优秀!