(二)多线程之开启线程的两种方式

一、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,编写一个简单的文本处理工具,具备三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件。

原文地址:https://www.cnblogs.com/zoling7/p/13386220.html