zoukankan      html  css  js  c++  java
  • 开启线程的两种方式

    #线程开启一
    from threading import Thread
    import time
    def sayhi(name):
        time.sleep(2)
        print('%s say hello'%name)
    if __name__ == '__main__':
        t = Thread(target=sayhi,args=('egon',))
        t.start()       #刚刚开启就调用,因为还睡了两秒,所以先执行主线程
        print('主线程')
    

      

    #开启线程方式二
    from threading import Thread
    import time
    class Sayhi(Thread):
        def __init__(self,name):
            super().__init__()
            self.name = name
        def run(self):     #名字必须为run
            time.sleep(2)
            print('%s say hello'%self.name)
    if __name__ == '__main__':
        t = Sayhi('egon')
        t.start()    #start开始会运行run函数
        print('主线程')
    

     在一个进程字儿开启多个线程与开启多个进程的区别

    from threading import Thread             #线程模块
    from multiprocessing import Process         #进程模块
    import os
    def work():
        print('hello')
    if __name__ == '__main__':
        # t = Thread(target=work)    #开启线程速度较快
        t = Process(target=work)     #重新申请内存空间,速度慢
        t.start()
        print('主线程:%s'%os.getpid())
    

      线程与进程的区别

     线程中所有的数据共享

    守护线程与守护进程的异同:

      主线程会等到所有非守护线程结束,才销毁守护线程

      主进程的代码运行完毕,就会销毁守护进程,然后等非守护进程运行完毕,主进程结束。

     1 from threading import Thread
     2 import time
     3 def foo():
     4     print(123)
     5     time.sleep(2)
     6     print('end123')
     7 def bar():
     8     print(456)
     9     time.sleep(1)
    10     print('end456')
    11 if __name__ == '__main__':
    12     t1 = Thread(target=foo)
    13     t2 = Thread(target=bar)
    14     t1.daemon = True
    15     t1.start()
    16     t2.start()
    17     print('this is father')
    守护进程与守护线程
  • 相关阅读:
    定制一个类似地址选择器的view
    3D版翻页公告效果
    一分钟搞定触手app主页酷炫滑动切换效果
    苹果版小黄车(ofo)app主页菜单效果
    基于SpringMVC+Ext.js的权限管理系统(无权限框架)
    使用 mybatis + flying-0.9.4 的电商后端
    iOS仿支付宝首页效果
    Android蓝牙
    JavaWeb Session详解
    原生JS实现的h5小游戏-植物大战僵尸
  • 原文地址:https://www.cnblogs.com/52-qq/p/7448304.html
Copyright © 2011-2022 走看看