Python 类级锁-好还是坏?

Python 类级锁-好还是坏?,python,multithreading,sockets,concurrency,multiprocessing,Python,Multithreading,Sockets,Concurrency,Multiprocessing,我有一个类,它将套接字连接作为其构造函数中的参数。在线程中执行该连接的写入和读取。重复调用异步套接字操作可能会导致数据损坏,我需要以线程安全的方式执行这些操作 为什么我需要类级锁?因为可以在类的实例之间共享连接 这里直截了当的解决方案是将锁实例作为类属性,但这有点可疑。 这是一个好的设计决策吗?有人知道更好的解决方案吗?在课堂上锁定?为什么?不能有多个具有不同连接的此类实例吗?在我看来,如果类是子系统并且可以与内部线程异步操作,那么即使是实例上的锁也不合适。@MartinJames这个类是库的公

我有一个类,它将套接字连接作为其构造函数中的参数。在线程中执行该连接的写入和读取。重复调用异步套接字操作可能会导致数据损坏,我需要以线程安全的方式执行这些操作

为什么我需要类级锁?因为可以在类的实例之间共享连接

这里直截了当的解决方案是将锁实例作为类属性,但这有点可疑。
这是一个好的设计决策吗?有人知道更好的解决方案吗?

在课堂上锁定?为什么?不能有多个具有不同连接的此类实例吗?在我看来,如果类是子系统并且可以与内部线程异步操作,那么即使是实例上的锁也不合适。@MartinJames这个类是库的公共部分,所以我无法预测它将如何使用,所以我需要从库用户的角度进行可靠的设计,以尽量减少奇怪和混乱。关于内部线程,我认为,使用全局线程池通常比使用内部线程更好,因为它更优雅,如果您有反参数,您可以为整个系统设置最大线程数,如果您表达它们,我将不胜感激。每个资源使用一个锁。每个插座一把锁。像这样存储:sock.my_lock=lock