【发布时间】:2013-12-30 22:11:40
【问题描述】:
我有一个相关但不同的问题的场景。所以它可能看起来像一个重复的帖子,但它不是
我正在开发一个类,该类使用最终在 UI 线程上创建的 TcpClient 来读取和写入数据。当 TcpClient 创建时,设计是连接到服务器并立即创建 BinaryReader 和 BinaryWriter。
BinaryReader 用于执行阻塞读取的专用线程。当数据到达时,我生成一个事件并传递数据进行处理。冲洗并重复。
BinaryWriter 在数据到达另一个线程时使用。现在它恰好是 UI 线程,但它不一定是。已知的一件事是它与阻塞读取器正在运行的线程不同。
一次只有一个进程会访问任一流处理程序,因此我不必担心两个线程同时访问 BinaryWriter,但会添加锁定。
这是可行的,但由于线程很难,我不想只是假设这是声音设计。我还有其他关于他们的寿命的问题将单独提出。
【问题讨论】:
标签: c# multithreading stream tcpclient