小编sam*_*ira的帖子

使用多线程在GNU C中使用Write Function是否安全

将函数调用从多个线程写入同一个套接字

这样安全吗?我们想在它们之间添加同步吗?是否会导致应用程序从网络层到应用程序层的延迟写入/读取等问题

我们在Linux Redhat Enviornment上使用GNU C++库GCC 4

这是一个服务器端进程,其中服务器和客户端服务器和客户端之间只有1个套接字连接在2个不同的机器上数据从服务器发送到客户端客户端到服务器

问题1 - 当服务器向客户端发送数据时(多个线程通过相同的单个套接字将数据写入客户端)但是从某些线程写入的数据没有转到客户端,它甚至没有进入网络层机器(Tcpdump没有那个数据)

问题2 - 当客户端发送数据到服务器数据发送客户端时,服务器应用程序没有收到服务器的TCPdump,该服务器应用程序使用循环中的"读取"和"选择"功能从单个线程读取套接字

我们无法确定发生这些问题的模式我们认为当这么多多个线程写入同一个套接字时会发生这种情况我们不同步写入函数希望操作系统处理同步

c++ sockets multithreading gcc redhat

5
推荐指数
1
解决办法
191
查看次数

标签 统计

c++ ×1

gcc ×1

multithreading ×1

redhat ×1

sockets ×1