1. 程式人生 > 其它 >多執行緒與多程序

多執行緒與多程序

#多執行緒,多程序
#程序:資源單位,執行緒:執行單位,每一個程序至少要有一個執行緒
#啟動一個程式預設都會有一個主執行緒
#多執行緒
#第一套寫法
'''from threading import Thread
def func():
for i in range(1000):
print('func',i)

t=Thread(target=func)#建立執行緒並給執行緒安排任務
t.start()#開始執行該執行緒,多執行緒狀態為可以開始工作狀態,具體的執行時間由cpu決定
t2=Thread(xxx)
t2.start()
for i in range(1000):
print('main', i)'''
from threading import Thread
class MyThread(Thread):#子類繼承父類
def run(self):#固定的,當執行緒被執行的時候,被執行的就是run()
for i in range(1000):
print('子執行緒',i)
t=MyThread()
#t.run()#方法呼叫會是單執行緒
t.start()#開啟執行緒
for i in range(1000):
print('主執行緒', i)

#多程序
from multiprocessing import Process
from threading import Thread
'''def func():
for i in range(1000):
print('子程序',i)
if __name__ == '__main__':
p=Process(target=func)
p.start()
for i in range(1000):
print('主程序', i)

class MyProcess(Process):#子類繼承父類
def run(self):#固定的,當執行緒被執行的時候,被執行的就是run()
for i in range(1000):
print('子程序',i)
if __name__ == '__main__':
p=MyProcess()
p.start()
for i in range(1000):
print('主程序', i)


def func(name):#傳遞引數怎麼傳遞
for i in range(1000):
print(name,i)
if __name__ == '__main__':
t1=Thread(target=func,args=('周杰倫',))#傳參必須是元組
t1.start()#開始執行該執行緒,多執行緒狀態為可以開始工作狀態,具體的執行時間由cpu決定
t2 = Thread(target=func,args=('王力巨集',))
t2.start()
'''