2

我在这里有一个更开放的面向设计的问题。我有 Python 方面的背景,但没有网络或异步编程方面的背景。我正在编写一个应用程序来保存从 websockets 24/24、7/7 收集的数据,目的是最大限度地减少数据丢失。

我最初的想法是使用带有 asyncio、aiohttp 和 aiofiles 的 Python 3.6。

我不知道是每个 websocket 连接使用一个协程还是每个 websocket 连接一个线程。与良好的连接错误处理相比,性能可能不是问题。

4

1 回答 1

1

要回答您的实际问题,线程和协程将同样可靠,但协程更容易推理,并且您会发现阅读或复制的许多现代现有代码都将使用它们。

如果您想从多核中受益,使用多处理比使用线程要好得多,以避免 GIL 的棘手。

于 2017-12-03T10:41:15.543 回答