程序和執行緒都是虛擬單位,只是為了我們更加方便的描述問題
3.1、方式一
from threading import thread
import time
def task(name):
print(f' is running')
time.sleep(1)
print(f' is stopping')
# 開執行緒的**不需要寫在main中
# 但是習慣性的將啟動命令寫在main下面
t = thread(target=task,args=('tzh',))
t.start()
print('我是主線程')
3.2、方式二
from threading import thread
import time
class mythead(thread):
def __init__(self,name):
#重寫別人的方法
super().__init__()
self.name = name
def run(self):
print(f' is running')
time.sleep(1)
print(f' is stoppings')
print('tzh666')
if __name__ == '__main__':
t = mythead('tzh')
t.start()
from threading import thread
import time
def task(name):
print('%s is running'%name)
time.sleep(3)
print('%s is over'%name)
if __name__ == '__main__':
t = thread(target=task,args=('egon',))
t.start()
t.join() # 主線程等待子執行緒執行結束再執行
print('主')
from threading import thread
import time
money = 100
def task():
global money
money = 666
print(money)
if __name__ == '__main__':
t = thread(target=task)
t.start()
t.join()
print(money)
from threading import thread, active_count, current_thread
import os, time
def task():
print(f'子程序號是:')
print(f'子執行緒名字是:')
time.sleep(2)
if __name__ == '__main__':
t = thread(target=task)
t.start()
#列印出來是一樣的,因為他們在同乙個下程序中
print(f'主程序號是:')
print(f'主線程名字是:')
print(f'活躍的執行緒數:')
from threading import thread
import time
def task(name):
print('%s is running'%name)
time.sleep(1)
print('%s is over'%name)
if __name__ == '__main__':
t = thread(target=task, args=('tzh', ))
t.daemon = true
t.start()
print('主')
from threading import thread
import time
def foo():
print(123)
time.sleep(1)
print('end123')
def func():
print(456)
time.sleep(3)
print('end456')
if __name__ == '__main__':
t1 = thread(target=foo)
t2 = thread(target=func)
t1.daemon = true
t1.start()
t2.start()
print('主.......')
--輸出--
123456
主.......
end123
end456
from threading import thread, lock
import time
money = 100
mutex = lock()
def task():
global money
#上鎖mutex.acquire()
tmp = money
time.sleep(0.1)
money = tmp - 1
#用完之後釋放
mutex.release()
if __name__ == '__main__':
t_list =
for i in range(100):
t = thread(target=task)
t.start()
for t in t_list:
t.join()
print(money)
python之執行緒
前言 python的thread模組是比較底層的模組,python的threading模組是對thread做了一些包裝的,可以更加方便的被使用 實現執行緒的方法 使用threading模組import threading import time 注意 在寫迴圈的時候for i in range 5 ...
Python學習 之 執行緒
from threading import thread import time import random 用於併發執行的函式 deftask num time.sleep random.randint 1,3 print num if name main 建立乙個用於存放執行緒的 list 這種...
python之執行緒入門
import threading import time class mythread threading.thread def init self,threadid,threadname,counter threading.thread.init self self.threadid thread...