1

我希望使用多处理从主程序创建一个 sock.Socket 对象,以避免在创建过程中套接字不可用时阻塞主程序。套接字被创建但不能返回到主程序。

经过一番阅读,似乎无法在 python 进程之间共享对象。是否有可能的设计模式来规避这一点?多处理是否适合此应用程序,还是我应该考虑另一种方法?

4

1 回答 1

1

你应该保持它非常简单并有一个套接字处理程序线程:

  1. 打开套接字,
  2. 保留它的所有权,
  3. 为您的主程序处理它,即在数据到达时通过事件、发布订阅或回调之一将其传递给父级,
  4. 如果连接丢失,要么重新打开它,要么让父母知道并干净地结束,
  5. 关机时会为您关闭套接字。

然后一切都变得非阻塞。这是一种更简洁的设计模式,尤其是在您使用 pubsub 时。

于 2013-07-04T07:19:09.300 回答