zoukankan      html  css  js  c++  java
  • 线程进程的了解

    线程:最小的执行单元(实例)
    进程:最小的资源单元

    join函数

    join函数之后,让主线程等待在join中的子线程结束

    import threading
    import time
    
    
    def game():
        print("start play game,%s" %time.ctime())
        time.sleep(3)
        print("stop play game,%s" %time.ctime())
    
    def sleep():
        print("start play sleep,%s" %time.ctime())
        time.sleep(6)
        print("stop play sleep,%s" %time.ctime())
    if __name__ == "__main__":
        t1 = threading.Thread(target=game)
        t2 = threading.Thread(target=sleep)
        t1.start()
        t2.start()
        t1.join() #等待t1执行完毕
        print("end")
    '''
    start play game,Fri Oct 26 08:49:46 2018
    start play sleep,Fri Oct 26 08:49:46 2018
    stop play game,Fri Oct 26 08:49:49 2018
    end
    stop play sleep,Fri Oct 26 08:49:52 2018
    '''
    

    setdaemon守护线程

    必须在start之前,设置成守护线程之后,其他线程跟着守护线程一起推出。

    多进程编程

    import threading
    import time
    
    
    def game():
        print("start play game,%s" %time.ctime())
        time.sleep(3)
        print("stop play game,%s" %time.ctime())
    
    def sleep():
        print("start play sleep,%s" %time.ctime())
        time.sleep(6)
        print("stop play sleep,%s" %time.ctime())
    if __name__ == "__main__":
        t1 = threading.Thread(target=game)
        t2 = threading.Thread(target=sleep)
        # t1.setDaemon(True) #必须添加在守护进程之前,守护线程的意思是主线程结束的时候就结束
        t2.setDaemon(True) #必须添加在守护进程之前,守护线程的意思是主线程结束的时候就结束
        threads = []
        threads.append(t1)
        threads.append(t2)
        for i in threads:
            i.start()
        # for i in threads:
        #     i.join()
        print()
        print("end")
    '''
    start play game,Fri Oct 26 08:50:39 2018
    start play sleep,Fri Oct 26 08:50:39 2018
    
    end
    stop play game,Fri Oct 26 08:50:42 2018
    '''
    
  • 相关阅读:
    Linux系统挂载存储只读改成读写
    Linux kernel调试方法
    Linux设备树文件结构与解析深度分析
    #undef常用法
    Linux驱动中的platform总线分析
    在根文件系统中查看设备树(有助于调试)
    友元及操作符重载
    STM32 FLASH 擦除(以及防止误擦除程序代码)、写入
    C++学习笔记49:栈
    C++学习笔记48:链表的基本操作
  • 原文地址:https://www.cnblogs.com/chrrydot/p/9840577.html
Copyright © 2011-2022 走看看