globalnum = 0
n = 1
class T(threading.Thread):
def run(self):
global globalnum
globalnum += n
for _ in xrange(0, 999):
t = T()
t.start()
print globalnum
結果は999 私のテストでは+ =スレッドセーフであるようです 私の質問は+ =本当にスレッドセーフですか?はPythonスレッドセーフで+ =ですか?
があなたのスレッドの任意の2あなたを信じます実際には同じ時間に走っていたのですか? – stark
テストによる糸の安全性を確認しようとすると、無知または狂気の徴候があります。スレッドセーフなものではないということは、何百万回も逸脱していないという理由だけで、特定の動作に頼ることができないということです。 –