在过去的几天里,我一直在与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
。为什么?