队列(queue)不需要线程同步吗?

来源:8-2 线程处理(2)

aiqingyuyan

2019-07-29

看了下这个class的调用方式

def test():

  def test_generator():
    i = 0
    while True:
      yield i
      i += 1
  
  t = test_generator()
  tg = ThreadGenerator(t)

  for _ in range(20):
    print(next(tg))
  
  tg.close()

当开始迭代tg的时候, 后台创建的thread会开始运行,然后不断的往队列里放入value, 主线程则是不断的从队列里读取. 感觉应该在往队列写入和读取之前加个锁(Lock)或者mutex? 确保线程之间的同步? 还是我想多了?

写回答

1回答

aiqingyuyan

提问者

2019-07-30

自己去看了下文档,queue的get和put是built-in thread-safe

0
0

NLP实践TensorFlow打造聊天机器人

解析自然语言处理( NLP )常用技术,从0搭建聊天机器人应用并部署上线,可用于毕设。

673 学习 · 281 问题

查看课程