美文网首页
并发编程—守护线程/守护进程

并发编程—守护线程/守护进程

作者: 她即我命 | 来源:发表于2018-12-01 15:51 被阅读81次
    """
    守护线程/守护进程 - daemon
    mysqld / httpd / firewalld / systemd
    如果主线程结束了守护线程也不再保留即使守护线程还在执行(没有结束)
    Lock - 多个线程竞争临界资源(资源只有1个) - 获得锁才能操作资源
    Condition - 基于Lock对象可以创建它 - wait() / notify_all() - 
    实现线程调度
    Semaphore - 多个线程竞争资源(资源有多个,但线程数量大于资源数量)
    多个线程通信比较简单因为可以共享内存
    多个进程通信相对比较困难,可以使用multiprocessing.Queue
    通过多个进程共享一个队列来实现进程间的通信
    生产者消费者模型 / 哲学家进餐模型 - 多线程编程模型
    """
    import threading
    import time
    
    
    def show_message(content):
        while True:
            print(content, end='')
    
    
    def main():
        threading.Thread(
            target=show_message, args=('Ping', ), daemon=True
        ).start()
        threading.Thread(
            target=show_message, args=('Pong', ), daemon=True
        ).start()
        sleep(5)
    
    
    if __name__ == '__main__':
        main()
    
    

    相关文章

      网友评论

          本文标题:并发编程—守护线程/守护进程

          本文链接:https://www.haomeiwen.com/subject/rbhrcqtx.html