gpt4 book ai didi

c# 多线程访问的异步套接字

转载 作者:行者123 更新时间:2023-11-30 22:42:35 25 4
gpt4 key购买 nike

我想为我的套接字使用 C# 异步 io 模型。我有多个需要通过套接字发送的线程。处理这个问题的最佳方法是什么?一个 N 套接字池,访问由锁控制?或者是异步发送线程安全的用于访问单个套接字的多个线程?

谢谢!

jack

最佳答案

异步方法已经创建了新的线程来发送数据。这可能会给您的应用程序增加不必要的开销。如果您已经有多个线程,则可以创建一个 IDispoable 类型的对象来表示对套接字的访问,以及一个管理器来控制套接字的 checkin 和 checkout 。当调用 IDisposable dispose 方法时,套接字将自行 checkin 。这样您就可以控制您的线程也可以在套接字上执行哪些方法。如果套接字已被另一个线程 check out ,管理器将简单地阻塞直到它可用。

using (SharedSocket socket = SocketManager.GetSocket())
{
//do things with socket
}

关于c# 多线程访问的异步套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359707/

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