咱们在多进程里,如果想自定义类,就必须继承 Process类, 然后重写了 run方法,直接调用咱们的自定义类就可以完成,
同理,多线程也是可以这么实现的, 怎么做的呢, 直接继承 threading.Thread ,然后重写 run 方法。
示例代码如下:
import threading ,time
class MyThread(threading.Thread):
def run(self):
time.sleep(1)
print("我是自定义类造的线程,我的名字是%s请你要尊重我"%self.name) #name 是线程的默认名字
if __name__=='__main__':
for i in range(10):
t=MyThread()
t.start()
这个也是主线程等待子线程完成再退出, 目的: 主线程要收子线程所占的资源
大家要了解两个概念
僵尸进程
僵尸就是野鬼呀, 意思死的进程, 当主进程不能回收子进程的时候,子进程就是僵尸进程,也就是当爸爸不能给儿子收尸,儿子就变成了僵尸
当主进程死了,子进程就没有回收, 子进程就成了孤儿,开始流浪了
==当发生了这两种情况怎么解决呢, 也就是用操作系统的1号进程进行回收 ==