多线程-非共享数据

对于全局变量,在多线程中要格外小心,否则容易造成数据错乱的情况发生

1. 非全局变量是否要加锁呢?

 #coding=utf-8
import threading
import time class MyThread(threading.Thread):
# 重写 构造方法
def __init__(self,num,sleepTime):
threading.Thread.__init__(self)
self.num = num
self.sleepTime = sleepTime def run(self):
self.num += 1
time.sleep(self.sleepTime)
print('线程(%s),num=%d'%(self.name, self.num)) if __name__ == '__main__':
mutex = threading.Lock()
t1 = MyThread(100,5)
t1.start()
t2 = MyThread(200,1)
t2.start()

 import threading
from time import sleep def test(sleepTime):
num=1
sleep(sleepTime)
num+=1
print('---(%s)--num=%d'%(threading.current_thread(), num)) t1 = threading.Thread(target = test,args=(5,))
t2 = threading.Thread(target = test,args=(1,)) t1.start()
t2.start()

  • 在多线程开发中,全局变量是多个线程都共享的数据,而局部变量等是各自线程的,是非共享的

最新文章

  1. python --enable-shared
  2. EhCache的配置
  3. 管理员必备的Linux系统监控工具
  4. JQ 练习题
  5. ubuntu apache开启重写模块
  6. Knockout.js, Asp.Net MVC and Bootstrap 前端设计
  7. CI_Autocomplete_2.0.php轻松实现Bebeans与Codeigniter的智能提示
  8. MFC 学习 之 状态栏的添加
  9. 使用WebUploader使用,及使用后测试横拍或竖拍图片图片方向不对等解决方案
  10. CSS实现背景透明/半透明效果的方法
  11. 字符编码介绍及java中的应用
  12. 深入理解MyBatis框架的的配置信息
  13. stm32输入的功能引脚功能介绍
  14. [Oracle] 使用PL/SQL Developer 连接远程数据库
  15. JavaWeb学习(一)———JavaWeb入门
  16. [Luogu1365] WJMZBMR打osu! / Easy
  17. 以前的 Delphi版本
  18. Codeforces-Anastasia and pebbles
  19. python格式化日期
  20. echart-X轴标签文字方向

热门文章

  1. MVC开发中的常见错误-02-在应用程序配置文件中找不到名为“OAEntities”的连接字符串。
  2. 20165206 2017-2018-2 《Java程序设计》第9周学习总结
  3. 一 time与datetime模块
  4. 使用python调用wps v9转换office文件到pdf
  5. 【转】flannel网络的VXLAN及host-gw
  6. Exception in thread "main" java.lang.NullPointerException
  7. 一脸懵逼搭建Zookeeper分布式集群
  8. python之多线程 queue 实践 筛选有效url
  9. python辅助sql手工注入猜解数据库案例分析
  10. docker compose启动服务超时重启记录