关于多线程中线程的执行顺序
来源:8-3 实现线程安全的队列Queue

宝慕林0551093
2019-12-15
我的想法应该是线程之间执行顺序是任意的,穿插执行。
但根据main方法执行出来的结果,我发现两个线程(加入,移除)是有规律得执行的,比如当两个线程的timeThread相等时,都为先一次加入再一次移除,这是为什么?
此外我也遇到过加入直到满为止,移除直到空为止的情况,也不知道是什么原因。
写回答
1回答
-
咚咚呛
2019-12-15
你看的例子是Python的例子吗?严格来说这是Python语言的一个特点,Python因为有GIL锁的存在,所以才会导致这个问题,如果换成Java、C++等语言,就不会,这个我在这个章节上有过说明,暂且忽略GIL锁的存在,而是去关注这个多线程队列的模型,因为这个模型是普适的。
00
相似问题