std::thread不提供獲取當前執行緒的系統id的方法,僅可以獲取當前的執行緒id,但是我們可以通過建立索引表的方式來實現
1std::mutex m;
2 std::mapthreads;
3void48
void wrap(void (*f)())
9
而後用其建立執行緒
1 std::thread t1(&wrap, &sayhello);
然後用如下方式獲取執行緒id
1 pid_t tid = 0;2while (tid == 0)3
**:
Windows Linux下獲取當前執行緒的ID號
序 在多執行緒場合,為了方便跟蹤執行緒的執行狀態,往往需要在程式中新增列印當前執行緒id號的功能。1.linux下列印當前執行緒idpthread t pthread self 2.windows下列印當前執行緒iddword getcurrentthreadid ifdef win32 inclu...
c 獲取執行緒id 高效獲取當前執行緒的 id
可以利用微軟提供的 api,輕鬆獲取當前執行緒的 id int id getcurrentthreadid linux 平台一般用的是 pthread 執行緒庫,但它並不提供獲取執行緒內部 id 的方法。可以通過系統呼叫得到當前執行緒的 id include for syscall include ...
如何中斷當前執行緒
中斷當前執行緒有兩種方式。第一種方式是通過呼叫執行緒的stop 方法,第二種方式通過呼叫interrupt 方法。由於第一種方式是不安全的,所以本篇文章不做討論,主要分享一下如何使用interrupt 方法來中斷執行緒。thread類中提供了三個中斷執行緒的方法,如下圖 方法詳情 public cl...