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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java的執行緒、建立執行緒的 3 種方式、靜態代理模式、Lambda表示式簡化執行緒Java執行緒模式
- 簡單的執行緒池執行緒
- 多執行緒Demo學習(執行緒的同步,簡單的執行緒通訊)執行緒
- 簡單的執行緒池(六)執行緒
- 簡單的執行緒池(四)執行緒
- 簡單的執行緒池(三)執行緒
- 簡單的執行緒池(九)執行緒
- 簡單的執行緒池(八)執行緒
- 簡單的執行緒池(七)執行緒
- 簡單的執行緒池(二)執行緒
- Android 中的執行緒有哪些,原理與各自特點Android執行緒
- 在netty3.x中存在兩種執行緒:boss執行緒和worker執行緒。Netty執行緒
- Java之自定義執行緒的2種方式Java執行緒
- 記錄一下簡單的執行 Laravel Mix 命令Laravel
- 簡單介紹PyTorch中in-place operation的含義PyTorch
- jmeter 壓測中,執行緒組和併發數的關係,以及 loop 的含義JMeter執行緒OOP
- 執行緒池小記錄執行緒
- Map實現執行緒安全的3種方式執行緒
- 執行緒、開啟執行緒的兩種方式、執行緒下的Join方法、守護執行緒執行緒
- 簡單易懂的程式與執行緒詳解執行緒
- 簡單的多執行緒複製檔案執行緒
- Java 21中使用虛擬執行緒的簡單Http ServerJava執行緒HTTPServer
- 請簡述OSI七層網路模型有哪些層及各自的含義?模型
- iOS 多執行緒記錄(二)iOS執行緒
- iOS 多執行緒記錄(一)iOS執行緒
- 建立執行緒的4種方法 and 執行緒的生命週期執行緒
- 簡單C++執行緒池C++執行緒
- MySQL:簡單記錄刪除binary log的介面MySql
- 簡單記錄node中的Stream(流)
- 執行緒池的五種狀態及建立執行緒池的幾種方式執行緒
- Java之執行緒安全問題的3種處理方式(通過執行緒同步)Java執行緒
- 作業系統中的執行緒種類作業系統執行緒
- 基於python的ftp(含資料庫、含多執行緒、含socketserver)PythonFTP資料庫執行緒Server
- Java併發程式設計:Java的四種執行緒池的使用,以及自定義執行緒工廠Java程式設計執行緒
- 簡單分析ThreadPoolExecutor回收工作執行緒的原理thread執行緒
- 執行緒池沒你想的那麼簡單(續)執行緒
- [高頻面試]解釋執行緒池的各個引數含義面試執行緒
- 實戰 | 執行緒池的幾種自定義擴充套件執行緒套件