MySQL:簡單記錄performance_schema.threads中的3種執行緒ID各自的含義
簡單記錄
如下線面3種ID到底什麼意思,這個問題我一直沒去看:
(root@localhost)[05:47:31] [performance_schema ;]> select THREAD_ID,PROCESSLIST_ID,THREAD_OS_ID from performance_schema.threads ; +-----------+----------------+--------------+| THREAD_ID | PROCESSLIST_ID | THREAD_OS_ID |+-----------+----------------+--------------+| 1 | NULL | 17721 || 2 | NULL | 17728 || 3 | NULL | 17729 || 4 | NULL | 17730 || 5 | NULL | 17731 || 6 | NULL | 17732 || 7 | NULL | 17733 || 8 | NULL | 17734 || 9 | NULL | 17735 || 10 | NULL | 17736 || 11 | NULL | 17737 || 12 | NULL | 17738 || 13 | NULL | 17739 || 15 | NULL | 17743 || 16 | NULL | 17744 || 17 | NULL | 17745 || 18 | NULL | 17746 || 19 | NULL | 17747 || 20 | NULL | 17749 || 21 | NULL | 17748 || 22 | NULL | 17750 || 23 | NULL | 17751 || 24 | NULL | 17752 || 25 | NULL | 17763 || 26 | 1 | 17764 || 27 | 2 | 17969 || 44 | 19 | 31424 |+-----------+----------------+--------------+
- THREAD_ID:performance_schema裡面的一個計數器如下:
PFS_thread* create_thread(PFS_thread_class *klass, const void *identity, ulonglong processlist_id){ PFS_thread *pfs; pfs_dirty_state dirty_state; pfs= global_thread_container.allocate(& dirty_state); if (pfs != NULL) { pfs->m_thread_internal_id= PFS_atomic::add_u64(&thread_internal_id_counter.m_u64, 1); pfs->m_parent_thread_internal_id= 0; pfs->m_processlist_id= static_cast<ulong>(processlist_id); 作者微信:gaopp_22389860
thread_internal_id_counter計數器一直增加。可以看到這是performance_schema內部使用的。
- PROCESSLIST_ID
是傳入引數processlist_id,也就是我們平時show processlist出來的。一般MySQL層使用它。
- THREAD_OS_ID
OS級別的執行緒ID,來自函式
pfs->m_thread_os_id= my_thread_os_id();
記錄於此 以備後用。
作者微信:gaopp_22389860
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-2640463/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Android 中的執行緒有哪些,原理與各自特點Android執行緒
- wxWidgets簡單的多執行緒執行緒
- java的執行緒、建立執行緒的 3 種方式、靜態代理模式、Lambda表示式簡化執行緒Java執行緒模式
- 簡單的執行緒池執行緒
- 分析日記中的單詞的含義
- 老問題:Android子執行緒中更新UI的3種方法Android執行緒UI
- 簡單的執行緒池(八)執行緒
- 簡單的執行緒池(七)執行緒
- 簡單的執行緒池(九)執行緒
- 簡單的執行緒池(六)執行緒
- 簡單的執行緒池(四)執行緒
- 簡單的執行緒池(三)執行緒
- 簡單的執行緒池(二)執行緒
- 多執行緒Demo學習(執行緒的同步,簡單的執行緒通訊)執行緒
- 執行計劃中cost, card的含義
- 執行緒和執行緒池的理解與java簡單例子執行緒Java單例
- 關於執行計劃中的%CPU的含義
- 在netty3.x中存在兩種執行緒:boss執行緒和worker執行緒。Netty執行緒
- Java之自定義執行緒的2種方式Java執行緒
- 記錄一下簡單的執行 Laravel Mix 命令Laravel
- Android中的執行緒池Android執行緒
- Android中執行緒的使用Android執行緒
- Android中UI執行緒與後臺執行緒互動設計的5種方法AndroidUI執行緒
- jmeter 壓測中,執行緒組和併發數的關係,以及 loop 的含義JMeter執行緒OOP
- 執行緒池小記錄執行緒
- JAVA中執行緒建立的2種方法Java執行緒
- Map實現執行緒安全的3種方式執行緒
- rosbridge簡單的安裝記錄ROS
- 執行緒、開啟執行緒的兩種方式、執行緒下的Join方法、守護執行緒執行緒
- Android中的執行緒通訊Android執行緒
- Android JNI 中的執行緒操作Android執行緒
- Android 中 EventBus 的使用(3):多執行緒事件處理Android執行緒事件
- 請簡述OSI七層網路模型有哪些層及各自的含義?模型
- Java 多執行緒 學習筆記(二)停止執行緒的幾種方法Java執行緒筆記
- 單例模式(含執行緒鎖關鍵字)單例模式執行緒
- android 建立多執行緒的幾種方法Android執行緒
- 簡單易懂的程式與執行緒詳解執行緒
- 簡單的多執行緒複製檔案執行緒