python 多进程的两种创建方式
Python中使用线程有两种方式:函数或者用类来包装线程对象。
第一种---------函数
菜鸟教程的我没看懂,说说我自己懂的----看视频理解的
import time import threading def coding(): for x in range(3): print('正在写代码:%s' % threading.current_thread()) # 获取进程名字 time.sleep(1) def drawing(): for x in range(3): print('正在画图:%s' % threading.current_thread()) time.sleep(1) def main(): t1 = threading.Thread(target=coding) # 创建子线程 指定进程要运行的函数 t2 = threading.Thread(target=drawing) # 传递函数名 不需要带() 带()的是传递函数返回值 t1.start() # 启动进程 t2.start() print(threading.enumerate()) #输出当前的进程数 if __name__ == '__main__': main()
第二种----类
简单点说,就是创建一个类,然后把需要作为进程运行的内容放在run 函数中就行了,之后通过创建对象的方式创建进程
import threading import time class CodingThread(threading.Thread): def run(self): for x in range(3): print('正在写代码:%s' % threading.current_thread()) # 获取进程名字 time.sleep(1) class DrawingThread(threading.Thread): def run(self): for x in range(3): print('正在画图:%s' % threading.current_thread()) time.sleep(1) def main(): t1 = CodingThread() # 通过创建对象的方式创建进程 t2 = DrawingThread() t1.start() t2.start() if __name__ == '__main__': main()