2013-05-12 170 views
0

可以调用TcpClient.Available同时调用Write来调用它的NetworkStream,它是线程安全吗?是TcpClient.Available线程安全吗?

+0

当你试图这样做时发生了什么? – 2013-05-12 00:22:19

+0

[你称之为“线程安全”的东西是什么?](http://blogs.msdn.com/b/ericlippert/archive/2009/10/19/what-is-this-thing-you-call-thread -safe.aspx) – I4V 2013-05-12 00:26:37

+0

您是否试图通过一个线程读取数据并同时用另一个线程写入数据? – Xaqron 2013-05-12 00:30:42

回答

1

TcpClient上的实例方法不保证为线程安全,如msdn所述。只有该类的公共静态成员才能保证线程安全

+0

这里的问题不仅在于'TcpClient'类,而且它的字段'NetworkStream'看起来似乎没有关系。 – myWallJSON 2013-05-12 00:29:39

+0

@myWallJSON,因为对于实例成员,TcpClient不是线程安全的,您可能在读取TcpClient.Available时在单独的线程上编写NetworkStream时遇到问题 – Jetti 2013-05-12 00:39:29