我正在编写一个多线程服务器。我得到了服务器本身,许多Client对象(每个连接,每个连接,在Thread-Per-Client设计中)和一个单一的Protocol实例。 Protocol对象决定客户端发送的每条消息的作用。
我有一个Protocol对象,许多Client对象可以同时访问。 Protocol对象没有自己的变量,但它访问其他对象。
我的问题是:它是否会导致问题,许多客户端同时访问同一个对象(给对象没有变量)
答案 0 :(得分:0)
如果一个对象没有数据,只有方法,则可以以多线程方式访问它。但是,在您的情况下,您的Protocol对象访问其他对象,因此当您的线程可能不在Protocol对象本身中共享数据时,它们将共享那些其他对象及其中的数据。没有适当的同步,这可能会导致问题。