【发布时间】:2010-05-31 23:32:54
【问题描述】:
我有一个项目,线程 A 在某个套接字上调用 Accept(...),然后将其传递给另一个线程,该线程在套接字上接收,然后关闭套接字。
调用accept的对象在线程A中永远不会关闭。这样安全吗?
线程 A 中的那个对象会发生什么?
【问题讨论】:
-
这可以说应该有一个指示平台的标签(例如 Posix),因为套接字和线程都不是标准 C++ 的一部分。一个套接字可以由一个线程特定的句柄表示,它不能在其他线程中有效地使用。 SymbianOS 默认情况下就是这种情况。这不是正确的 C++,但是没有什么可以阻止 BSD 样式的套接字实现在正确的 C++ 中做同样的事情。
标签: c++ sockets multithreading