gpt4 book ai didi

c++ - 带锁的多线程与单线程?

转载 作者:行者123 更新时间:2023-11-30 00:39:59 25 4
gpt4 key购买 nike

我正在设计一个客户端和服务器套接字程序。我有一个文件要使用 UDP 从客户端传输到服务器,我重复一遍我正在使用 UDP .....我通过 UDP 发送,所以发送速率比接收方快,所以我创建了 3 个线程监听同一个套接字,这样当一个线程正在做一些工作时(我的意思是使用 fwrite 写入文件)接收到其他线程可以从客户端接收的数据。

我的第一个问题是,当我在多个线程中使用 fwrite 时,我必须使用锁,因为文件指针在线程之间共享。我的想法是对的???

我的第二个问题是“如果我使用多个线程使用锁进行 fwrite,而不是使用单个线程进行没有锁的 fwrite 工作,性能会有任何改进吗......???”......请指导我...

最佳答案

我会使用一个线程。节省并发症。您可以缓冲数据并使用异步写入

http://www.gnu.org/s/hello/manual/libc/Asynchronous-Reads_002fWrites.html

关于c++ - 带锁的多线程与单线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7548427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com