Python多線程處理實例詳解【單進程/多進程】
本文實例講述了Python多線程處理操作。分享給大家供大家參考,具體如下:
python — 多線程處理
1、一個進程執(zhí)行完后,繼續(xù)下一個進程
root@72132server:~# cd /root/python/multiprocess/ root@72132server:~/python/multiprocess# ls multprocess.py root@72132server:~/python/multiprocess# cat multprocess.py #!/usr/bin/python # --*-- coding:utf-8 --*-- from multiprocessing import Process,Lock#啟用多進程,與進程鎖 import time,os def 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,))#調用函數(shù)def,若def函數(shù)里面有參數(shù),就是使用args帶值賦值,若函數(shù)沒有參數(shù)的話就args()為空。 p.start() p.join()#一個進程結束才會繼續(xù)下一個進程。如果注釋這句意思是一百個進程同時發(fā)起 root@72132server:~/python/multiprocess#
運行情況:
1)進程查看
root@72132server:~# cd /root/python/multiprocess/ root@72132server:~/python/multiprocess# ls multprocess.py root@72132server:~/python/multiprocess# vi multprocess.py root@72132server:~/python/multiprocess# ps -ef | grep multi root 24064 23930 0 20:45 pts/3 00:00:00 grep multi root@72132server:~/python/multiprocess# ps -ef | grep multi root 24066 23930 0 20:45 pts/3 00:00:00 grep multi root@72132server:~/python/multiprocess# ps -ef | grep multi root 24069 23930 0 20:45 pts/3 00:00:00 grep multi root@72132server:~/python/multiprocess# ps -ef | grep multi root 24071 23930 0 20:45 pts/3 00:00:00 grep multi root@72132server:~/python/multiprocess# ps -ef | grep multi root 24073 23930 0 20:46 pts/3 00:00:00 grep multi root@72132server:~/python/multiprocess# ps -ef | grep multi root 24075 23930 0 20:46 pts/3 00:00:00 grep multi root@72132server:~/python/multiprocess#
2)腳本運行
root@72132server:~/python/multiprocess# vi multprocess.py root@72132server:~/python/multiprocess# python multprocess.py hello world!!! 0 hello world!!! 1 hello world!!! 2 hello world!!! 3 hello world!!! 4 hello world!!! 5 hello world!!! 6 hello world!!! 7 hello world!!! 8 hello world!!! 9 hello world!!! 10 hello world!!! 11
2、100個進行同時運行
root@72132server:~/python/multiprocess# ls multprocess.py root@72132server:~/python/multiprocess# cat multprocess.py #!/usr/bin/python # --*-- coding:utf-8 --*-- from multiprocessing import Process,Lock#啟用多進程,與進程鎖 import time,os def 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,))#調用函數(shù)def,若def函數(shù)里面有參數(shù),就是使用args帶值賦值,若函數(shù)沒有參數(shù)的話就args()為空。 p.start() p.join()#一個進程結束才會繼續(xù)下一個進程。如果注釋這句意思是一百個進程同時發(fā)起 root@72132server:~/python/multiprocess# root@72132server:~/python/multiprocess# vi multprocess.py root@72132server:~/python/multiprocess# cat multprocess.py #!/usr/bin/python # --*-- coding:utf-8 --*-- from multiprocessing import Process,Lock#啟用多進程,與進程鎖 import time,os def 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,))#調用函數(shù)def,若def函數(shù)里面有參數(shù),就是使用args帶值賦值,若函數(shù)沒有參數(shù)的話就args()為空。 p.start() #p.join()#一個進程結束才會繼續(xù)下一個進程。如果注釋這句意思是一百個進程同時發(fā)起 root@72132server:~/python/multiprocess#
運行情況
1)進程查看

2)腳本運行(1秒跑完)
root@72132server:~/python/multiprocess# python multprocess.py hello world!!! 0 hello world!!! 2 hello world!!! 3 hello world!!! 5 hello world!!! 7 hello world!!! 8 hello world!!! 6 hello world!!! 9 hello world!!! 10 hello world!!! 11 hello world!!! 14 hello world!!! 4 hello world!!! 15 hello world!!! 16 hello world!!! 1 hello world!!! 13 hello world!!! 18 hello world!!! 20 hello world!!! 19 hello world!!! 21 hello world!!! 12 hello world!!! 17 hello world!!! 23 hello world!!! 24 hello world!!! 26 hello world!!! 27 hello world!!! 22 hello world!!! 29 hello world!!! 31 hello world!!! 32 hello world!!! 33 hello world!!! 34 hello world!!! 28 hello world!!! 25 hello world!!! 30 hello world!!! 35 hello world!!! 36 hello world!!! 39 hello world!!! 41 hello world!!! 37 hello world!!! 40 hello world!!! 42 hello world!!! 43 hello world!!! 46 hello world!!! 47 hello world!!! 48 hello world!!! 38 hello world!!! 44 hello world!!! 45 hello world!!! 50 hello world!!! 51 hello world!!! 53 hello world!!! 54 hello world!!! 55 hello world!!! 57 hello world!!! 49 hello world!!! 58 hello world!!! 59 hello world!!! 60 hello world!!! 61 hello world!!! 62 hello world!!! 63 hello world!!! 64 hello world!!! 65 hello world!!! 66 hello world!!! 67 hello world!!! 68 hello world!!! 69 hello world!!! 56 hello world!!! 70 hello world!!! 52 hello world!!! 71 hello world!!! 72 hello world!!! 73 hello world!!! 76 hello world!!! 74 hello world!!! 78 hello world!!! 79 hello world!!! 80 hello world!!! 82 hello world!!! 77 hello world!!! 83 hello world!!! 84 hello world!!! 85 hello world!!! 86 hello world!!! 87 hello world!!! 81 hello world!!! 91 hello world!!! 75 hello world!!! 89 hello world!!! 92 hello world!!! 88 hello world!!! 90 hello world!!! 93 hello world!!! 95 hello world!!! 94 hello world!!! 96 hello world!!! 98 hello world!!! 9
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python進程與線程操作技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》、《Python+MySQL數(shù)據(jù)庫程序設計入門教程》及《Python常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python中字節(jié)數(shù)組和16進制字符串轉換方式
這篇文章主要介紹了Python中字節(jié)數(shù)組和16進制字符串轉換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
使用python實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導入MySQL中的數(shù)據(jù)庫
這篇文章主要為大家詳細介紹了如何使用 python 實現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導入 MySQL 中的數(shù)據(jù)庫,對我們的學習或工作有一定的幫助,需要的朋友可以參考下2023-06-06
python使用pika庫調用rabbitmq參數(shù)使用詳情
這篇文章主要介紹了python使用pika庫調用rabbitmq參數(shù)使用詳情,文章通過展開文章主題分享了三種方式,具有一定的參考價值,需要的朋友可以參考一下2022-08-08
淺談OpenCV中的新函數(shù)connectedComponentsWithStats用法
這篇文章主要介紹了淺談OpenCV中的新函數(shù)connectedComponentsWithStats用法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
基于Python實現(xiàn)自動用小寫字母替換文件后綴的大寫字母
本文介紹基于Python語言,基于一個大文件夾,遍歷其中的多個子文件夾,對于每一個子文件夾中的大量文件,批量將其文件的名稱或后綴名中的字母由大寫修改為小寫的方法,文中有相關的代碼示例供大家參考,需要的朋友可以參考下2024-04-04

