开启线程的两种方式

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

posted @ 2018-12-17 00:50  混世妖精  阅读(373)  评论(0编辑  收藏  举报