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

"""
守护线程/守护进程 - 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()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容