第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Python3 多線程講解

標(biāo)簽:
Python

前言

Python3 线程中常用的两个模块为
•_thread
•threading(推荐使用)

thread 模块已被废弃。用户可以使用 threading 模块代替。所以,在 Python3 中不能再使用”thread” 模块。为了兼容性,Python3 将 thread 重命名为 “_thread”。

_thread

Python中使用线程有两种方式:函数或者用类来包装线程对象。
函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程。语法如下:
_thread.start_new_thread ( function, args[, kwargs] )1

参数说明:
•function - 线程函数。
•args - 传递给线程函数的参数,他必须是个tuple类型。
•kwargs - 可选参数。
1  #!/usr/bin/python3
2  # -- coding: UTF-8 --
3  
4  # Python3 多线程
5  
6  import _thread
7  import time
8  import sys
9  
10  # 为线程定义一个函数
11  
12  def print_time(threadName,delay):
13        count=0
14     while count<5:
15        time.sleep(delay)
16        count+=1
17   print("%s:%s"%(threadName,time.ctime(time.time())))
18
19  # 创建两个线程
20  try:
21      _thread.start_new_thread(print_time,("Thread-1",2,))
22      _thread.start_new_thread(print_time,("Thread-2",4,))
23  except:
24     print("Error:无法启动线程",sys.exc_info())
25  
26  while 1:
27     pass

threading
1  #!/usr/bin/python3
2  # -- coding: UTF-8 --
3  
4  # python3 多线程
5  
6  import threading
7  import time
8  
9  exitFlag=0
10
11  def print_time(threadName,delay,counter):
12   while counter:
13        if exitFlag:
14            threadName.exit()
15       time.sleep(delay)
16        print("%s:%s"%(threadName,time.ctime(time.time())))
17        counter-=1      
18
19  class myThread(threading.Thread):
20    def init(self,threadID,name,counter):
21      threading.Thread.init(self)
22        self.threadID=threadID
23        self.name=name
24        self.counter=counter
25    def run(self):
26        print("线程开始:"+self.name)
27        print_time(self.name,self.counter,5)
28       print("线程退出:"+self.name)
29
30  # 创建线程
31  thread1=myThread(1,"Thread-1",1)
32  thread2=myThread(2,"Thread-2",2)
33
34  # 开始新线程
35  thread1.start()
36  thread2.start()
37  thread1.join()
38  thread2.join()
39

线程模块

Python3 通过两个标准库 _thread 和 threading 提供对线程的支持。
_thread 提供了低级别的、原始的线程以及一个简单的锁,它相比于 threading 模块的功能还是比较有限的。

threading 模块除了包含 _thread 模块中的所有方法外,还提供的其他方法:

•threading.currentThread(): 返回当前的线程变量。

•threading.enumerate(): 返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。

•threading.activeCount(): 返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。

除了使用方法外,线程模块同样提供了Thread类来处理线程,Thread类提供了以下方法:
•run(): 用以表示线程活动的方法。
•start():启动线程活动。
•join([time]): 等待至线程中止。这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。
•isAlive(): 返回线程是否活动的。
•getName(): 返回线程名。
•setName(): 设置线程名。


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消