Python 如何在线程中重用websocket通道?

Python 如何在线程中重用websocket通道?,python,multithreading,websocket,coroutine,Python,Multithreading,Websocket,Coroutine,我正在考虑在我的客户机(浏览器)-服务器(Python)应用程序中使用websocket,我很难理解如何跨线程重用websocket通道 我的应用程序将有几个线程,每个线程独立地生成一些我想推送到浏览器的数据。这表明,一旦浏览器连接到服务器,就会运行特定的功能(我从链接的文档中复制了该示例): 现在让我们假设我有一个函数(worker) 我想通过threading.Thread(target=thread1,args=(一个初始化的\u websocket,).start()启动它 这两个世界(

我正在考虑在我的客户机(浏览器)-服务器(Python)应用程序中使用websocket,我很难理解如何跨线程重用websocket通道

我的应用程序将有几个线程,每个线程独立地生成一些我想推送到浏览器的数据。这表明,一旦浏览器连接到服务器,就会运行特定的功能(我从链接的文档中复制了该示例):

现在让我们假设我有一个函数(worker)

我想通过
threading.Thread(target=thread1,args=(一个初始化的\u websocket,).start()启动它

这两个世界(使用协程的websocket和使用线程的websocket)是如何共存的?更具体地说:我可以传递给工作人员的websocket是什么,以便他们可以使用它向上游发送消息


换句话说,我应该如何创建上面的
一个

你写的我想开始-你开始了吗?你的实际问题是什么?@RomanPerekhrest:启动线程不是问题(通过提供的代码)。我不明白的是,我可以在线程中使用的websocket对象到底是什么(传递给线程的
现有的\u websocket
import asyncio
import datetime
import random
import websockets

async def time(websocket, path):
    while True:
        now = datetime.datetime.utcnow().isoformat() + 'Z'
        await websocket.send(now)
        await asyncio.sleep(random.random() * 3)

start_server = websockets.serve(time, '127.0.0.1', 5678)

asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
def thread1(an_existing_webocket):
    while True:
        an_existing_webocket.send("1")
        print("1")
        time.sleep(1)