У меня есть класс Server, который после принятия TcpClient вызывает событие, основной задачей которого является получение определенного пользователем объекта для передачи в поток, принадлежащий TcpClient. например,
public class MyData : UserData {}
public GetUserDataEventArg : CancelEventArg { UserData Data { get; set; } }
public class Server { public event EventHandler<GetUserDataEventArg> GetUserData = null; }
// intended usage, each thread has its own data.
public void GetUserDataEventHandler1(object sender, GetUserDataEventArg e) { e.Data = new MyData(); }
// dangerous usage, shared member data may not have thread safety implemented.
public void GetUserDataEventHandler2(object sender, GetUserDataEventArg e) { e.Data = m_myData; }
Как я могу гарантировать, что использование является поточно-ориентированным? Другие реализации, которые достигают той же цели, приветствуются. Заранее спасибо.