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

Python多線程具體運(yùn)用的方法

開發(fā) 后端
我們在這篇文章中為大家主要講解的是有關(guān)PYthon多線程的一些基本概念,相信對于初學(xué)者來說,可以從這里介紹的內(nèi)容充分的掌握這些知識(shí)。

Python編程語言是一種功能強(qiáng)大的面向?qū)ο笥?jì)算機(jī)通用型語言。那么今天我們就可以先從Python多線程的具體應(yīng)用開始了解,從而進(jìn)一步的對這一編程語言有一個(gè)深刻的認(rèn)識(shí),以幫助我們在實(shí)際中的應(yīng)用。

為了利用多核處理器,看過很多文檔,研究很多python相關(guān)技術(shù),全部是失望的。

1、Python:受限于GIL,被鎖住只能用一個(gè)CPU核心。

2、Twisted:其實(shí)只有一個(gè)線程,何談多核的利用。

3、Stackless:測試表明其多線程程序的速度比Python多線程使用的native線程方式要快一點(diǎn),不過一樣沒法用多核。

4、parallel Python:多進(jìn)程方式,感覺封裝的很齷齪,雖然翻譯完了文檔,但是仍然沒有興趣去使用。

現(xiàn)在的辦法:

1、負(fù)載均衡:后面在多臺(tái)服務(wù)器上啟動(dòng)多個(gè)Python程序?,F(xiàn)在我開發(fā)的應(yīng)用基本上都是用twistd啟動(dòng)的daemon程序。#t#

2、C/S應(yīng)用:各個(gè)進(jìn)程間用多進(jìn)程通信。

3、subprocess:使用這個(gè)模塊,利用外部進(jìn)程作worker,異步等待結(jié)果。

從這些解決方法之后,倒是感覺Python作為膠水語言其實(shí)多核利用也不是很必要。

pyprocessing 測試過沒?這個(gè)模塊將會(huì)被加入到python2.6中。
  
我用pyprocessing改造了Karrigell,性能獲得了很大提升。

在Quixote官方白皮書中已經(jīng)詳細(xì)描述了Quixote的工作模式。Quixote可以使用Python自代的http_server(主要用于開發(fā)調(diào)試)和與Apache(或lighttpd)配合使用。

Quixote與Apache配合使用方式如下:

使用CGI,文檔中稱為egular CGI。被認(rèn)為效率***的一種方式,因?yàn)槊恳粋€(gè)請求都會(huì)創(chuàng)建一個(gè)新的進(jìn)程。

使用fastCGI,CGI可以運(yùn)行fastCGI一定是可以應(yīng)用的。這也是豆瓣采用的方式。在Quixote作者的一個(gè)PPT中,他認(rèn)為fastCGI是buggy的。哦:(也不至于啊。我們正在尋找使用fastCGI的部署經(jīng)驗(yàn)。

使用mod_python,將python代碼嵌入到Apache中。

使 用SCGI,這是作者推薦的。使用Apache SCGI module scgi_mod將遵循SCGI協(xié)議Apache將請求發(fā)送到相應(yīng)的Socket如localhost:3001。而這個(gè)Socket由本地運(yùn)行的一個(gè) Python程序打開。這個(gè)Python多線程將處理請求,并返回結(jié)果。

責(zé)任編輯:佚名 來源: 驅(qū)動(dòng)之家
相關(guān)推薦

2010-03-15 18:18:33

Java多線程

2010-03-15 19:37:00

Java多線程同步

2010-03-15 19:11:39

Java多線程語句

2010-03-24 10:32:05

Python多線程

2010-03-18 16:02:09

python 多線程

2010-04-14 09:20:26

.NET多線程

2009-06-29 18:08:51

Java多線程join方法

2010-03-10 08:54:49

Python多線程

2009-04-27 13:15:04

多線程方法run()

2015-09-10 09:30:54

Java多線程同步

2023-10-06 23:06:01

多線程Python

2010-02-01 17:25:09

Python多線程

2010-03-16 09:19:22

Java多線程

2009-06-29 18:22:54

Java多線程從線程返回?cái)?shù)據(jù)

2009-06-17 11:23:00

Java多線程

2010-03-10 19:25:04

python多線程

2021-03-26 05:54:00

C#數(shù)據(jù)方法

2021-06-10 00:13:43

C#隊(duì)列數(shù)據(jù)

2010-01-18 18:06:07

VB.NET多線程

2021-08-12 14:33:20

Python多線程編程
點(diǎn)贊
收藏

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