开启线程的两种方式
一 threading模块介绍
multiprocess模块的完全模仿了threading模块的接口,二者在使用层面,有很大的相似性,因而不再详细介绍
二 开启线程的两种方式
方式一
# 方式一 import time import random from threading import Thread def run(name): print("%s is running" % name) time.sleep(random.randrange(1, 5)) print("%s is end" % name) if __name__ == "__main__": t1 = Thread(target=run, args=("线程1", )) t1.start() # 主线程向操作系统发送在进程中再开启一个线程的信号 print("主线程") # 执行角度主线程,资源角度:主进程
方式二
# 方式二 import time import random from threading import Thread class MyThread(Thread): def __init__(self,name): super().__init__() self.name = name def run(self): print("%s is running" % self.name) time.sleep(random.randrange(1, 5)) print("%s is end" % self.name) if __name__ == "__main__": t1 = MyThread("线程1") t1.start() print("主线程")
三 练习题
1、基于多线程实现并发的套接字通信
2、编写一个简单的文本处理工具,具备三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件