[Python的自由天空] 请问这样是否线程安全?
发信人: SaveTheQueen (STQ), 信区: Python
标 题: 请问这样是否线程安全?
发信站: 水木社区 (Fri Dec 29 01:09:40 2017), 转信
几百个线程从一个公有的proxy_pool的list对象里pop()出一个元素
if len(proxy_pool) > 0:
proxy = proxy_pool.pop()
......
我怀疑虽然先检测len,发现是个非空list才去pop(),但是下一行去pop()的时候,proxy_pool有可能已经被别的线程pop()走了剩余元素,导致这个线程pop()一个空list而出现IndexError?是否可能出现这种情况呢?如果是,应该如何解决呢?
if ...
try ...
...pop()
还加一个try我总感觉有点不是特别好?请教各位指点,谢谢!
--
※ 来源:·水木社区 http://ift.tt/14srz9A: 123.150.182.*]
from 水木社区 电脑技术区十大热门话题 http://ift.tt/2le9Xex
via IFTTT
标 题: 请问这样是否线程安全?
发信站: 水木社区 (Fri Dec 29 01:09:40 2017), 转信
几百个线程从一个公有的proxy_pool的list对象里pop()出一个元素
if len(proxy_pool) > 0:
proxy = proxy_pool.pop()
......
我怀疑虽然先检测len,发现是个非空list才去pop(),但是下一行去pop()的时候,proxy_pool有可能已经被别的线程pop()走了剩余元素,导致这个线程pop()一个空list而出现IndexError?是否可能出现这种情况呢?如果是,应该如何解决呢?
if ...
try ...
...pop()
还加一个try我总感觉有点不是特别好?请教各位指点,谢谢!
--
※ 来源:·水木社区 http://ift.tt/14srz9A: 123.150.182.*]
from 水木社区 电脑技术区十大热门话题 http://ift.tt/2le9Xex
via IFTTT
评论
发表评论