我一直在努力使其工作的最後幾天0。沒有明顯的文檔,所以我最終會試用&錯誤。無法與websockify共享線程之間的變量
我有一個服務器在兩個線程上運行。一個線程總是發送和接收信息,而第二個線程執行其他工作。但是,我似乎無法讓這兩個線程彼此交談。
#!/usr/bin/env python
from websocket import WebSocketServer
from threading import Thread
from time import sleep
class Server(WebSocketServer):
a=10
def new_client(self):
while True:
sleep(1)
print("Thread 2: ", self.a)
server = Server('', 9017)
Thread(target=server.start_server).start()
# Main thread continues
while 1:
sleep(1)
server.a+=2
print("Main thread: ", server.a)
輸出:
Main thread: 18
Thread 2: 16
Main thread: 20
Thread 2: 16
Main thread: 22
Thread 2: 16
Main thread: 24
Thread 2: 16
顯然兩個線程不共享相同的屬性a
。爲什麼?
謝謝!只要將'run_once = False'改成'run_once = True'即可解決所有問題:) – Pithikos
更新:您還必須評論kanaka所述的'break'語句,否則一旦斷開連接,客戶端將無法重新連接。 – Pithikos