linux暂停线程和恢复,是否有可能在Linux [暂停]中检测到线程已进行上下文切换?...
能夠當所述線程中的一個被切換上下文(即,暫停),以檢測可以找到?
至于你的問題是否可能 - 它認為這是可能的。至少SystemTap(https://sourceware.org/systemtap/)可以做到這一點。
probe scheduler.ctxswitch
{
if (target_pid != 0
&& next_pid != target_pid
&& prev_pid != target_pid)
next
if (target_name != ""
&& prev_task_name != target_name
&& next_task_name != target_name)
next
printf("%-16s%5d %5d %5d:%5d:%s ==> %5d:%5d:%s %-16s\n",prev_task_name,
task_cpu(prev_task),gettimeofday_ns(),prev_pid,prev_priority,state_calc(prevtsk_state),next_pid,
next_priority,state_calc(nexttsk_state),next_task_name)
}
據我知道的SystemTap編譯STP文件,把那么在Linux內核,并顯示您的信息。
我不知道如何在用戶空間和C++程序中獲取這些信息。但它似乎也有可能(http://netsplit.com/tracing-on-linux):
其他跟蹤事件可用于用戶空間!我們并不需要 寫內核模塊可以掛接到他們,但顯然我們 只能讀取數據這樣
因此,這將是巨大的,如果你能發現它,稍后回答自己題。
總結
以上是生活随笔為你收集整理的linux暂停线程和恢复,是否有可能在Linux [暂停]中检测到线程已进行上下文切换?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux ip addr peer,L
- 下一篇: linux 自动安装 get,linux