# -*- codeing: utf-8 —*—
import time
import threading
# 執行緒同步
class mythead(threading.thread):
def __init__(self, name, delay):
threading.thread.__init__(self)
self.name = name
self.delay = delay
def run(self):
print("開啟執行緒: " + self.name)
threadlock.acquire() # 獲取鎖,用於執行緒同步
print_time(self.name, self.delay, 3)
threadlock.release() # 釋放鎖,開啟下乙個執行緒
def print_time(thread_name, delay, counter):
while counter:
time.sleep(delay)
print("%s: %s" % (thread_name, time.strftime("%y-%m-%d %h:%m:%s")))
counter -= 1
pass
threadlock = threading.lock()
threads =
# 建立新執行緒
thread1 = mythead("thread-1", 1)
thread2 = mythead("thread-2", 2)
# 開啟新執行緒
thread1.start()
thread2.start()
# 新增執行緒到執行緒列表
# 等待所有執行緒完成
for t in threads:
t.join()
print("退出主線程.")
簡單多執行緒死鎖案例
在多執行緒程式中死鎖的乙個令人頭疼的問題,為了避免死鎖就要避免死鎖產生,就要知道死鎖產生的條件 死鎖產生的原因是同步巢狀,所以在開發過程中要盡量避免同步巢狀 下面是我的乙個簡單的同步死鎖案例 定義兩個鎖 class lock寫乙個執行緒 public class threaddemo4 extend...
多執行緒簡單案例 join( ) lock()
join 在呼叫結束前,主線程不會結束 不加的話,主線程會在子執行緒結束前繼續執行 並行 加了join 主線程會等待子執行緒結束後在繼續執行下去 序列 python3 main print number stop after son thread stop son thread print id i...
python中多執行緒的簡單案例
coding utf 8 import threading from time import ctime,sleep def music func for i in range 2 print i was listening to s.s func,ctime sleep 4 def move fu...