多程序和多執行緒python

2021-10-01 22:24:44 字數 1761 閱讀 5119

**:

# -* 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...