Linux 上的 TCP 套接字发送和接收是线程安全的吗?

问题描述 投票:0回答:1

在Linux中,如果我为同一个非阻塞套接字创建两个线程,一个用于TCP发送数据,一个用于TCP接收数据,那么它是线程安全的吗?

或者我应该使用互斥体进行同步?

linux tcp nonblocking
1个回答
1
投票

绝对没问题。

read/write/send/recv
等库函数中已经存在互斥锁或等效同步。

这些使用套接字的函数均来自 POSIX.1-2008 标准。

如果您检查

man 7 pthreads
,它会说

POSIX.1-2001 和 POSIX.1-2008 要求标准中指定的所有函数都应是线程安全的,除了...

(...下面列出了您可以确认您不关心的功能列表)。

© www.soinside.com 2019 - 2024. All rights reserved.