【Python高级编程015 ● 多任务编程 ● 解决线程之间共享全局变量出现错误的方法:线程同步】
2021-03-28 18:26
标签:art 怎么 c99 star cal 演示 lazy 计算 表示 ---------Python基础编程--------- Author : AI菌 【内容讲解】 【代码演示】 【运行结果】 calc_num1: 1012896 【往期精彩】 ?【Python基础编程196 ● 读取文件的4种方式】 【加群交流】 【Python高级编程015 ● 多任务编程 ● 解决线程之间共享全局变量出现错误的方法:线程同步】 标签:art 怎么 c99 star cal 演示 lazy 计算 表示 原文地址:https://www.cnblogs.com/hezhiyao/p/13622073.html
线程之间共享全局变量数据出现错误问题
"""
线程之间共享全局变量数据出现错误问题
"""
# 定义两个函数,实现循环100万次,每循环一次给全局变量加1
# 创建两个子线程执行对应的两个函数,查看计算后的结果
# 如果计算过程不出错,两个子线程执行完毕,全局变量的值应该是100万
import threading
# 定义全局变量
g_num = 0
# 循环1000000次,每循环一次给全局变量加1
def calc_num1():
# 声明此处加上global表示要修改全局变量的内存地址
global g_num
for i in range(1000000):
g_num += 1
print("calc_num1:", g_num)
# 循环1000000次,每循环一次给全局变量加1
def calc_num2():
# 声明此处加上global表示要修改全局变量的内存地址
global g_num
for i in range(1000000):
g_num += 1
print("calc_num2:", g_num)
if __name__ == ‘__main__‘:
# 创建第一个子线程
first_thread = threading.Thread(target=calc_num1)
# 创建第二个子线程
second_thread = threading.Thread(target=calc_num2)
# 启动线程执行任务
first_thread.start()
second_thread.start()
calc_num2: 1147387
?【Python基础编程197 ● 读取文件的4种方式】
?【Python基础编程198 ● 读取文件的4种方式】
?【Python基础编程199 ● Python怎么读/写很大的文件】
?【Python基础编程200 ● 读取文件的4种方式】
?【Python基础编程201 ● 读取文件的4种方式】
?【Python基础编程202 ● 读取文件的4种方式】
?【Python基础编程203 ● 读取文件的4种方式】
上一篇:Spring事务
文章标题:【Python高级编程015 ● 多任务编程 ● 解决线程之间共享全局变量出现错误的方法:线程同步】
文章链接:http://soscw.com/index.php/essay/69162.html