zoukankan      html  css  js  c++  java
  • (二)多线程之开启线程的两种方式

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

  • 相关阅读:
    Wayland中的跨进程过程调用浅析
    设计模式总结
    C语言---整型字符串转换
    抽象工厂模式
    SVNclient安装与使用
    [置顶] MyEclipse下安装插件方法(properties文件编辑器Propedit为例)
    脑筋急转弯的歧义性
    脑筋急转弯的歧义性
    从和式积分到定积分
    从和式积分到定积分
  • 原文地址:https://www.cnblogs.com/zoling7/p/13386220.html
Copyright © 2011-2022 走看看