一、threading 模块介绍
multiprocess 模块完全模仿了 threading 模块的接口,二者在使用层面上,有很大的相似性,因而不再详细介绍。
二、开启线程的两种方式
1,方式一:
from threading import Thread import time def say_hi(name): time.sleep(2) print('%s say hello' % name) if __name__ == '__main__': t = Thread(target=say_hi,args=('zixi',)) t.start() print('主线程') # 在执行角度上,这个是主线程,在资源角度上,这个是主进程。 # 有两个线程,一个是主线程,一个是 t.start() 产生的。 """ 主线程 zixi say hello """
2,方式二:
# 方式二: from threading import Thread import time class Sayhi(Thread): # 继承 Thread 类 def __init__(self,name): super().__init__() # 重用父类 Thread 类的方法。 self.name = name def run(self): time.sleep(2) print('%s say hello' % self.name) if __name__ == '__main__': t = Sayhi('zixi') t.start() print('主线程') """ 主线程 zixi say hello """
三、练习题
1,基于多线程实现并发的套接字通信。
2,编写一个简单的文本处理工具,具备三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件。