# coding: utf-8
# file:syn.py
import threading
import time
class mythread(threading.Thread):
def __init__(self,threadname):
threading.Thread.__init__(self,name=threadname)
def run(self):
global x
#lock.acquire()
for i in range(3):
x=x+1
time.sleep(2)
print x
#lock.release()
#print self.getName()
#lock= threading.RLock()
t1=[]
for i in range(10):
t= mythread(str(i))
t1.append(t)
x=0
for i in t1:
i.start()
多线程同步问题探讨
本文通过一个简单的Python多线程示例展示了当多个线程同时修改全局变量时可能出现的数据竞争问题。示例中,10个线程各自尝试递增全局变量x三次,但由于缺乏锁机制保护,最终结果可能并非预期的30。该文章适用于希望了解线程同步基础知识及其重要性的读者。
2537

被折叠的 条评论
为什么被折叠?



