摘要:
引言 本节的主题是基于单线程来实现并发,即只用一个主线程(很明显可利用的cpu只有一个)情况下实现并发,为此我们需要先回顾下并发的本质:切换+保存状态。 cpu正在运行一个任务,会在两种情况下切走去执行其他的任务(切换由操作系统强制控制),一种情况是该任务发生了阻塞,另外一种情况是该任务计算的时间过 阅读全文
posted @ 2024-03-03 11:32
Xiao0101
阅读(82)
评论(0)
推荐(0)
摘要:
引言 首先,需要注意一下:不能无限的开进程,不能无限的开线程,最常用的就是开进程池,开线程池。 其中,回调函数非常重要,回调函数其实可以作为一种编程思想,谁好了谁就去掉只要你用并发,就会有锁的问题,但是你不能一直去自己加锁吧。 那么我们就用QUEUE,这样还解决了自动加锁的问题,但是由Queue延伸 阅读全文
posted @ 2024-03-03 11:32
Xiao0101
阅读(245)
评论(0)
推荐(0)
摘要:
队列queue介绍 queue用于建立和操作队列,常和threading类一起用来建立一个简单的线程队列。 首先,队列有很多种,根据进出顺序来分类,可以分成 queue.Queue(maxsize) FIFO(先进先出队列) queue.LifoQueue(maxsize) LIFO(先进后出队列) 阅读全文
posted @ 2024-03-03 11:31
Xiao0101
阅读(42)
评论(0)
推荐(0)
摘要:
定时器 定时器,指定n秒后执行某操作 简易版: from threading import Timer def task(name): print('hello %s' % name) t = Timer(5, task, args=('xiao',)) t.start() # hello xiao 阅读全文
posted @ 2024-03-03 11:30
Xiao0101
阅读(17)
评论(0)
推荐(0)
摘要:
条件Condition(了解) 使得线程等待,只有满足某条件时,才释放n个线程 import threading def run(n): con.acquire() con.wait() print("run the thread: %s" % n) con.release() if __name_ 阅读全文
posted @ 2024-03-03 11:30
Xiao0101
阅读(19)
评论(0)
推荐(0)

浙公网安备 33010602011771号