Python 多任务(线程) day2 (1)

  1. 结论:多线程全局变量是共享的 (03)
  2. 因为多线程一般是配合使用,如果不共享,那么就要等到一个线程执行完,再把变量传递给另一个线程,就变成单线程了 
  3. 但是如果多个线程同时需要修改一个全局变量,就会出现资源竞争
    由于操作都要交给CPU执行,而CPU会让每个程序交替运行,导致全局变量还没存放进去,另一个线程又拿出来
    于是另一个线程所拿出来的全局变量还没改变,于是变量只执行了一次 +1 所以全局变量是 2 
    这时就需要用到(同步👇)原子性,要么做完,要么不做
  4. t1 = threading.Thread(target=test1,args=(num,)) # args = (记得是元组如果只有一个数据就加逗号)
posted @ 2020-02-27 14:14  otome  阅读(125)  评论(0编辑  收藏  举报