<form id="pblhr"><nobr id="pblhr"></nobr></form>
              <form id="pblhr"><nobr id="pblhr"><th id="pblhr"></th></nobr></form>

                <address id="pblhr"></address>

                當前位置: 首頁 / 技術分享 / 正文
                好程序員Python培訓分享進程與線程知識

                2020-11-26

                Python培訓

                  好程序員Python培訓分享進程與線程知識,Python開發語言現在已經是被大家非??粗械木幊陶Z言了,本篇文章好程序員Python培訓小編給讀者們分享一下Python進程與線程知識小結,本篇文章具有一定的參考借鑒價值,感興趣的小伙伴來了解一下吧,希望對小伙伴們有幫助。

                Python2

                傳統方式是調用2個方法執行1個任務,方法按順序依次執行:

                # -*- coding:utf-8 -*-

                import threading

                import time

                def run(n):

                  print('task',n)

                  time.sleep(3)

                if __name__ == '__main__':

                  run('t1')

                  run('t2')

                 

                多線程例子

                 

                2個線程同時并發執行1個任務:

                 

                # -*- coding:utf-8 -*-

                import threading

                import time

                def run(n):

                  print('task',n)

                  time.sleep(3)

                 

                if __name__ == '__main__':

                  t1=threading.Thread(target=run,args=('t1',))

                  t2=threading.Thread(target=run,args=('t2',))

                  t1.start()

                  t2.start()

                 

                自己寫一個類繼承繼承threading.Thread

                 

                # -*- coding:utf-8 -*-

                import threading

                import time

                class MyThread(threading.Thread):

                  def __init__(self,n):

                    super(MyThread,self).__init__()

                    self.n=n

                  #這里面默認就有一個run方法

                  def run(self):

                    print('runing task',self.n)

                if __name__ == '__main__':

                  #在主方法通過對象調用線程

                  t1=MyThread('t1')

                  t2=MyThread('t2')

                  t1.run()

                  t2.run()

                 

                使用for循環啟動多個線程

                 

                # -*- coding:utf-8 -*-

                import threading

                import time

                def run(n):

                  print('task',n)

                  time.sleep(3)

                if __name__ == '__main__':

                  for i in range(10):

                    t=threading.Thread(target=run,args=('t-%s'%i,))

                    t.start()

                 

                 

                等多線程同時執行完后,再執行其它代碼,因為線程是與其它代碼一起運行的

                 

                # -*- coding:utf-8 -*-

                import threading

                import time

                def run(n):

                  print('task',n)

                  time.sleep(3)

                if __name__ == '__main__':

                  time_start=time.time()

                  #定義一個空列表裝線程t實例

                  t_objects=[]

                  for i in range(10):

                    t=threading.Thread(target=run,args=('t-%s'%i,))

                    t.start()

                    t_objects.append(t)

                  # 等所有線程執行完后,再執行下面的代碼

                  # 因為線程與下面的代碼是同時運行的

                  # 要想先等線程執行完畢再執行其它代碼

                  # 使用join()方法進行阻塞

                  #在這里統一結束所有t線程

                  for i in t_objects:

                    t.join()

                  time_end=time.time()

                  sun=time_end-time_start

                  print(sun)

                  最后想要了解更多關于Python和人工智能方面內容的小伙伴,請關注好程序員Python培訓官網、微信公眾號等平臺。

                好程序員公眾號

                • · 剖析行業發展趨勢
                • · 匯聚企業項目源碼

                好程序員開班動態

                More+
                • HTML5大前端 <高端班>

                  開班時間:2021-04-12(深圳)

                  開班盛況

                  開班時間:2021-05-17(北京)

                  開班盛況
                • 大數據+人工智能 <高端班>

                  開班時間:2021-03-22(杭州)

                  開班盛況

                  開班時間:2021-04-26(北京)

                  開班盛況
                • JavaEE分布式開發 <高端班>

                  開班時間:2021-05-10(北京)

                  開班盛況

                  開班時間:2021-02-22(北京)

                  開班盛況
                • Python人工智能+數據分析 <高端班>

                  開班時間:2021-07-12(北京)

                  預約報名

                  開班時間:2020-09-21(上海)

                  開班盛況
                • 云計算開發 <高端班>

                  開班時間:2021-07-12(北京)

                  預約報名

                  開班時間:2019-07-22(北京)

                  開班盛況
                在線咨詢
                試聽
                入學教程
                立即報名

                Copyright 2011-2020 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號

                骚货在线

                      <form id="pblhr"><nobr id="pblhr"></nobr></form>
                            <form id="pblhr"><nobr id="pblhr"><th id="pblhr"></th></nobr></form>

                              <address id="pblhr"></address>