自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

python多線程應(yīng)用中的詳細(xì)介紹

開發(fā) 后端
python多線程在應(yīng)用的時(shí)候需要注意不少的事情,其中一配對來說就是相當(dāng)重要的。下面就會為大家詳細(xì)的介紹如何進(jìn)行python多線程應(yīng)用。

python多線程在應(yīng)用的時(shí)候有不少的事情需要重點(diǎn)的注意。其實(shí)只要掌握這些相關(guān)的技術(shù)段就能保證這個(gè)應(yīng)用的完整。下面我們來看看具體是需要如何進(jìn)行操作。

今天看了近一天關(guān)于多線程的應(yīng)用中,如何安全調(diào)用python多線程方面的資料,開始的時(shí)候看的簡直頭大如斗,被python語言的全局鎖(Global Interpreter Lock)、線程狀態(tài)(Thread State )等都有點(diǎn)繞暈了,后來經(jīng)過各方面文章和幫助文檔的相互參考,發(fā)現(xiàn)對于2.4/2.5版本,提供了PyGILState_Ensure, PyGILState_Release,哎,這下可方便大發(fā)了。

一、首先定義一個(gè)封裝類,主要是保證PyGILState_Ensure, PyGILState_Release配對使用,而且這個(gè)類是可以嵌套使用的。

 

  1. #include <python.h> 
  2. class PyThreadStateLock  
  3. {  
  4. public:  
  5. PyThreadStateLock(void)  
  6. {  
  7. state = PyGILState_Ensure( );  
  8. }  
  9. ~PyThreadStateLock(void)  
  10. {  
  11. PyGILState_Release( state );  
  12. }  
  13. private:  
  14. PyGILState_STATE state;  
  15. };  

 


二、在主線程中,這樣處理

// 初始化
Py_Initialize();
// 初始化線程支持
PyEval_InitThreads();
// 啟動子線程前執(zhí)行,為了釋放PyEval_InitThreads獲得的全局鎖,否則子線程可能無法獲取到全局鎖。
PyEval_ReleaseThread(PyThreadState_Get());

// 其他的處理,如啟動子線程等
......

// 保證子線程調(diào)用都結(jié)束后
PyGILState_Ensure();
Py_Finalize();
// 之后不能再調(diào)用任何python的API

以上就是對python多線程的詳細(xì)介紹。希望對大家有所幫助。

【編輯推薦】

  1. 講述Python序列如何進(jìn)行解包教程
  2. Python函數(shù)需要不斷的學(xué)習(xí)和完善
  3. Python源代碼構(gòu)架的三大主要結(jié)構(gòu)
  4. python字符串處理以靈活為***優(yōu)點(diǎn)
  5. 用Python異常處理來顯示錯(cuò)誤信息
責(zé)任編輯:張浩 來源: IT博客
相關(guān)推薦

2011-07-22 14:55:20

多線程

2010-03-15 19:11:39

Java多線程語句

2023-10-06 23:06:01

多線程Python

2010-03-18 15:47:07

Java創(chuàng)建線程

2022-03-09 17:01:32

Python多線程多進(jìn)程

2013-03-27 10:32:53

iOS多線程原理runloop介紹GCD

2011-07-20 17:16:50

C++重載函數(shù)

2010-03-01 13:13:02

Python應(yīng)用線程

2011-08-08 13:50:29

iPhone開發(fā) NSOperatio 多線程

2009-10-09 17:01:32

VB.NET多線程

2024-06-13 10:05:36

2010-03-17 19:24:38

Java多線程循環(huán)

2011-07-12 18:02:00

PHP

2010-03-17 15:45:06

Java多線程求和

2010-03-16 13:04:17

Python環(huán)境

2010-03-17 14:58:20

Java多線程

2010-02-24 13:25:22

Python線程應(yīng)用程

2023-07-27 08:59:19

線程同步Python

2011-06-21 14:25:44

JavaScriptcookie

2011-07-08 16:54:39

JspCookies
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號