立即学习:https://edu.csdn.net/course/play/24458/296437?utm_source=blogtoedu
开启线程的两种方法:threading.Thread
1.方法一:
from threading import Thread
import time#方式一:直接使用thrending下的Thread类
def mythread(name):print('我是%s'%name)time.sleep(0.5)if __name__ == '__main__':t1 = Thread(target=mythread,args=('子进程1',))t1.start()print('主进程运行结束')#这里有一个进程两个线程,主进程、主线程、子线程
上面是子线程的创建,下面是子进程的创建,注意区分
#方式一:使用python内置模块multiprocessing下的process类
from multiprocessing import Process
import time#定义进程函数
def task(name):print('%s is running!'%name)time.sleep(3)print('%s is done!'%name)if __name__ == '__main__':#调用process类,并且实例化# p = Process(target=task,kwargs={'name','子进程1'})p = Process(target=task,args=('子进程1',))p.start()print('主')
2.方法二:
#方式二:创建继承于Thread类的自定义类
from threading import Thread
import timeclass mythread(Thread):def __init__(self,name):#注意:下面两行的代码的顺序不能换,否则会出现错误assert self._initialized, "Thread.__init__() not called"AssertionError: Thread.__init__()not calledsuper().__init__()self.name = name#创建运行函数def run(self):print('我是%s'%self.name)time.sleep(1)if __name__ == '__main__':t = mythread('子进程1')t.start()print('主进程')#含有一个主进程,一个主线程和一个子线程