python 2.7.5再打印一次' \ n'

时间:2015-03-06 13:13:14

标签: python multithreading

cat t.py

import threading
import sys

class RecoverKey(threading.Thread):
    cond = threading.Condition()
    def __init__(self, idx=0):
        threading.Thread.__init__(self)
        self.idx = idx
    def run(self):
        for i in range(5):
            self.cond.acquire()
            print(self.idx * 10)
            sys.stdout.flush()
            self.idx *= 10
            self.cond.release()

if __name__ == '__main__':
    for i in range(1, 3):
        r = RecoverKey(i)
        r.start()

:~/test>python t.py 

10

20
100
200
1000
2000
10000
20000
100000
200000

为什么在' 10'之间还有一条线。和' 20'?

有时它可能会消失..

1 个答案:

答案 0 :(得分:0)

我会查看处理同一问题的two questions。我不确定它为什么会发生,但看起来用print x替换print >> sys.stderr, x作品(尝试过)。