我正在制作一个线程聊天服务器,我需要一种向所有客户端发送消息的方法。我可以使用全局队列,但只有一个处理客户端的线程能够发送消息。所以我想知道是否可以在每个客户端线程中创建一个单独的队列对象并将它们附加到一个列表中,以便我能够将消息发送到每个客户端的队列。这可能吗?
clientqueues = [] #Global list of client queues
class ClientThread(threading.Thread):
def __init__(self):
myqueue = Queue.Queue() #Client queue
clientqueues.append(myqueue)
...
def MessageAllClients(message):
global clientqueues
for queue in clientqueues:
queue.put(message)
这会奏效还是我会以错误的方式解决这个问题?