我正在关注Bucky的Python tutorial,在他的线程视频中,他得到了这样的输出(不完全是):
Send out messages
Send out messages
Send out messages
Receive messages
Send out messages
Receive messages
Send out messages
Receive messages
Send out messages
Receive messages
Send out messages
Receive messages
Receive messages
Receive messages但是当我尝试编写类似的代码时,我得到了以下输出:
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Receiving messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...
Sending messages...下面是我的代码:
# threading
import threading
class Messenger(threading.Thread):
    def run(self):
        for _ in range(10): # '_' is used when you want to run a for loop but don't care about the varialble
            print(threading.currentThread().getName())
x = Messenger(name='Sending messages...')
y = Messenger(name='Receiving messages...')
x.start()
y.start()那么,是不是我的代码出了什么问题,或者这里出了什么问题,为什么我的输出与Bucky的输出不同?
发布于 2017-06-06 03:03:22
使用线程时,不能保证输出的顺序。线程的执行顺序取决于您的操作系统。我在我的系统上得到了完全不同的输出。
https://stackoverflow.com/questions/44254051
复制相似问题