本文實例講述了Python多線程處理操作。分享給大家供大家參考,具體如下:
python — 多線程處理
1、一個進程執(zhí)行完后,繼續(xù)下一個進程
root@72132server:~# cd /root/python/multiprocess/root@72132server:~/python/multiprocess# lsmultprocess.pyroot@72132server:~/python/multiprocess# cat multprocess.py#!/usr/bin/python# --*-- coding:utf-8 --*--from multiprocessing import Process,Lock#啟用多進程,與進程鎖import time,osdef sayhi(i): print 'hello world!!!', i time.sleep(10)#lock = Lock()for n in range(100):#執(zhí)行n=100次 p = Process(target=sayhi,args=(n,))#調(diào)用函數(shù)def,若def函數(shù)里面有參數(shù),就是使用args帶值賦值,若函數(shù)沒有參數(shù)的話就args()為空。 p.start() p.join()#一個進程結(jié)束才會繼續(xù)下一個進程。如果注釋這句意思是一百個進程同時發(fā)起root@72132server:~/python/multiprocess#
運行情況:
1)進程查看
root@72132server:~# cd /root/python/multiprocess/root@72132server:~/python/multiprocess# lsmultprocess.pyroot@72132server:~/python/multiprocess# vi multprocess.pyroot@72132server:~/python/multiprocess# ps -ef | grep multiroot 24064 23930 0 20:45 pts/3 00:00:00 grep multiroot@72132server:~/python/multiprocess# ps -ef | grep multiroot 24066 23930 0 20:45 pts/3 00:00:00 grep multiroot@72132server:~/python/multiprocess# ps -ef | grep multiroot 24069 23930 0 20:45 pts/3 00:00:00 grep multiroot@72132server:~/python/multiprocess# ps -ef | grep multiroot 24071 23930 0 20:45 pts/3 00:00:00 grep multiroot@72132server:~/python/multiprocess# ps -ef | grep multiroot 24073 23930 0 20:46 pts/3 00:00:00 grep multiroot@72132server:~/python/multiprocess# ps -ef | grep multiroot 24075 23930 0 20:46 pts/3 00:00:00 grep multiroot@72132server:~/python/multiprocess#
2)腳本運行
root@72132server:~/python/multiprocess# vi multprocess.pyroot@72132server:~/python/multiprocess# python multprocess.pyhello world!!! 0hello world!!! 1hello world!!! 2hello world!!! 3hello world!!! 4hello world!!! 5hello world!!! 6hello world!!! 7hello world!!! 8hello world!!! 9hello world!!! 10hello world!!! 11
2、100個進行同時運行
root@72132server:~/python/multiprocess# lsmultprocess.pyroot@72132server:~/python/multiprocess# cat multprocess.py#!/usr/bin/python# --*-- coding:utf-8 --*--from multiprocessing import Process,Lock#啟用多進程,與進程鎖import time,osdef sayhi(i): print 'hello world!!!', i time.sleep(10)#lock = Lock()for n in range(100):#執(zhí)行n=100次 p = Process(target=sayhi,args=(n,))#調(diào)用函數(shù)def,若def函數(shù)里面有參數(shù),就是使用args帶值賦值,若函數(shù)沒有參數(shù)的話就args()為空。 p.start() p.join()#一個進程結(jié)束才會繼續(xù)下一個進程。如果注釋這句意思是一百個進程同時發(fā)起root@72132server:~/python/multiprocess#root@72132server:~/python/multiprocess# vi multprocess.pyroot@72132server:~/python/multiprocess# cat multprocess.py#!/usr/bin/python# --*-- coding:utf-8 --*--from multiprocessing import Process,Lock#啟用多進程,與進程鎖import time,osdef sayhi(i): print 'hello world!!!', i time.sleep(10)#lock = Lock()for n in range(100):#執(zhí)行n=100次 p = Process(target=sayhi,args=(n,))#調(diào)用函數(shù)def,若def函數(shù)里面有參數(shù),就是使用args帶值賦值,若函數(shù)沒有參數(shù)的話就args()為空。 p.start() #p.join()#一個進程結(jié)束才會繼續(xù)下一個進程。如果注釋這句意思是一百個進程同時發(fā)起root@72132server:~/python/multiprocess#
新聞熱點
疑難解答