介绍
这篇文章主要介绍python3爬虫中多线程进行解锁的操作方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
import 线程 , sub =0 num =1000000 时间=lock threading.Lock () , def 添加(): ,,,global 子,num ,,,for 小姐:拷贝范围(1,num): ,,,,,,,#,请求锁 ,,,,,,,lock.acquire () ,,,,,,,sub +=1 ,,,,,,,#,释放锁 ,,,,,,,lock.release () , def 红色(): ,,,global 子,num ,,,for 小姐:拷贝范围(1,num): ,,,,,,,#,请求锁 ,,,,,,,lock.acquire () ,,,,,,,sub -=1 ,,,,,,,#,释放锁 ,,,,,,,lock.release () , def main (): ,,,print(“开始运算,子的值为{}“.format(子)) ,,,t1 =, threading.Thread(目标=添加,args=()) ,,,t2 =, threading.Thread(目标=红,args=()) , ,,,t1.start () ,,,t2.start () , ,,,t1.join () ,,,t2.join () , ,,,print(“结束运算,子的值为{}“.format(子)) , if __name__ ==, & # 39; __main__ # 39;: main ()
0。
子值每次都不一样,这其实就是因为共享变量,线程之间产生了混乱,导致子的值无法确定。
以上是“python3爬虫中多线程进行解锁的操作方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!