**:
# -* coding:utf8 *-
import threading
import time
class mop_floor(threading.thread):
def __init__(self):
super(mop_floor,self).__init__()
def run(self):
print('我要拖地了')
time.sleep(1)
print('地拖完了')
class heat_up_watrt(threading.thread):
def __init__(self,name):
# 這裡傳入引數name,就是傳入子執行緒名字
super(heat_up_watrt,self).__init__(name=name)
# 記住這裡的格式不能錯
def run(self):
print('我要燒水了')
print(self.name)
print(threading.current_thread().name)
# 這兩個都是列印出當前子執行緒的名字
time.sleep(6)
print('水燒開了')
if __name__=="__main__":
start_time = time.time()
t1 = mop_floor()
t2 = heat_up_watrt('***我是燒水員***')
t1.start()
t2.start()
t1.join()
t2.join()
end_time = time.time()
print('總共耗時:{}'.format(end_time-start_time))
**:
# -* coding:utf8 *-import threading
def run1():
while 1:
if l1.acquire():
# 如果第一把鎖上鎖了
print('我是老大,我先執行')
l2.release()
# 釋放第二把鎖
def run2():
while 1:
if l2.acquire():
# 如果第二把鎖上鎖了
print('我是老二,我第二執行')
l3.release()
# 釋放第三把鎖
def run3():
while 1:
if l3.acquire():
# 如果第三把鎖上鎖了
print('我是老三,我最後執行')
l1.release()
# 釋放第一把鎖
if __name__=='__main__':
t1 = threading.thread(target=run1)
t2 = threading.thread(target=run2)
t3 = threading.thread(target=run3)
l1 = threading.lock()
l2 = threading.lock()
l3 = threading.lock()
# 例項化三把鎖
l2.acquire()
l3.acquire()
t1.start()
t2.start()
t3.start()
python 多執行緒 和 多程序
單執行緒例子 usr bin python coding utf 8 name danxiancheng.py import time import threading def loop num,sec print loop s start num,time.strftime y m d h m s...
python多執行緒和多程序
pool 感謝多執行緒和多程序最大的不同在於,多程序中,同乙個變數,各自有乙份拷貝存在於每個程序中,互不影響 而多執行緒中,所有變數都由所有執行緒共享,所以,任何乙個變數都可以被任何乙個執行緒修改,因此,執行緒之間共享資料最大的危險在於多個執行緒同時改乙個變數,把內容給改亂了。python中,多執行...
Python 多程序和多執行緒
使用multiprocessing中的process,其中start 代表啟動程序,join 代表等待程序結束再執行後面 程式。from multiprocessing import process from time import time,sleep def func arg time.slee...