python thread 并發(fā)且順序運(yùn)行示例
更新時(shí)間:2009年04月09日 12:14:17 作者:
以上源文件是對(duì)python中的線程的一個(gè)簡(jiǎn)單應(yīng)用,實(shí)現(xiàn)了對(duì)并發(fā)線程的順序運(yùn)行,也許對(duì)你會(huì)有小小幫助
復(fù)制代碼 代碼如下:
#-*- coding:utf-8 -*-
import threading
import time
def fun(name, ls_name, front_thread = None):
'''''
線程啟動(dòng)函數(shù)
通過(guò)front_thread來(lái)使用線程有序的運(yùn)行
'''
time.clock()
time.sleep(2)
# 如果front_thread存在,則在front_thread運(yùn)行完成后,才運(yùn)行當(dāng)前線程
if front_thread != None:
front_thread.join()
ls_name.append(name)
print "thread %s : %s"% (name, time.clock())
if __name__ == '__main__':
ls_result_name = []
ls_thread = []
time.clock()
# 逐一啟動(dòng)1000個(gè)線程
for i in range(0,10):
if len(ls_thread) == 0:
t = threading.Thread(target=fun, args=(i,ls_result_name,None))
else:
t = threading.Thread(target=fun, args=(i,ls_result_name,ls_thread[-1]))
t.start()
ls_thread.append(t)
# 等待所有線程結(jié)束
for t in ls_thread:
t.join()
print 'ls_result_name:', ls_result_name
print "main thread:%s" % time.clock()
運(yùn)行結(jié)果為:
thread 0 : 1.99962006344
thread 1 : 2.00000866032
thread 2 : 2.00059113658
thread 3 : 2.00080345407
thread 4 : 2.00100068584
thread 5 : 2.00119456523
thread 6 : 2.00138593033
thread 7 : 2.00166753037
thread 8 : 2.00211758757
thread 9 : 2.0024776892
ls_result_name: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
main thread:2.003211302
線程更明細(xì)的使用可參考:
http://docs.python.org/library/threading.html
time.clock模塊的更詳細(xì)介紹可參考:
http://blog.csdn.net/kiki113/archive/2009/03/28/4033017.aspx
您可能感興趣的文章:
- python并發(fā)編程之多進(jìn)程、多線程、異步和協(xié)程詳解
- python編程使用協(xié)程并發(fā)的優(yōu)缺點(diǎn)
- Python并發(fā)編程協(xié)程(Coroutine)之Gevent詳解
- 簡(jiǎn)單介紹Python的Tornado框架中的協(xié)程異步實(shí)現(xiàn)原理
- python線程、進(jìn)程和協(xié)程詳解
- 深入淺析python中的多進(jìn)程、多線程、協(xié)程
- 簡(jiǎn)述Python中的進(jìn)程、線程、協(xié)程
- python中的協(xié)程深入理解
- Python多進(jìn)程并發(fā)(multiprocessing)用法實(shí)例詳解
- python實(shí)現(xiàn)多線程的方式及多條命令并發(fā)執(zhí)行
- python使用協(xié)程實(shí)現(xiàn)并發(fā)操作的方法詳解
相關(guān)文章
python向json中追加數(shù)據(jù)的兩種方法總結(jié)
JSON用來(lái)存儲(chǔ)和交換文本信息,比xml更小/更快/更易解析,下面這篇文章主要給大家介紹了關(guān)于python向json中追加數(shù)據(jù)的兩種方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
Python pandas如何根據(jù)指定條件篩選數(shù)據(jù)
這篇文章主要介紹了Python pandas如何根據(jù)指定條件篩選數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02
Python Web框架之Django框架cookie和session用法分析
這篇文章主要介紹了Python Web框架之Django框架cookie和session用法,結(jié)合實(shí)例形式分析了Django框架cookie和session的常見使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-08-08
使用Python腳本來(lái)獲取Cisco設(shè)備信息的示例
這篇文章主要介紹了編寫Python腳本來(lái)獲取Python腳本來(lái)獲取Cisco設(shè)備信息的教程,文中的示例是獲取一臺(tái)思科交換機(jī)的腳本,需要的朋友可以參考下2015-05-05
詳解flask中如何獲取不請(qǐng)求方式的參數(shù)
這篇文章主要詳細(xì)介紹了在flask中如何獲取不請(qǐng)求方式的參數(shù),文中給出了詳細(xì)的代碼示例和圖文介紹,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-04-04
Python實(shí)現(xiàn)求最大公約數(shù)及判斷素?cái)?shù)的方法
這篇文章主要介紹了Python實(shí)現(xiàn)求最大公約數(shù)及判斷素?cái)?shù)的方法,涉及Python算數(shù)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2015-05-05
一文帶你掌握Python中enumerate函數(shù)和for循環(huán)的對(duì)比
在Python編程中,循環(huán)是一項(xiàng)常見的任務(wù),而for循環(huán)是最常見的一種,然而,Python提供了enumerate函數(shù),它允許在迭代過(guò)程中訪問元素的同時(shí)獲得它們的索引,下面我們就來(lái)學(xué)習(xí)一下二者的區(qū)別吧2023-11-11

