gpt4 book ai didi

c# - .NET:异步套接字,其回调在GUI线程上运行?

转载 作者:行者123 更新时间:2023-12-03 12:01:30 25 4
gpt4 key购买 nike

我曾经用Delphi编写代码,而且我似乎还记得有一个异步套接字类,在该类中,执行了异步操作(例如,读取)后,一条消息被发布到应用程序的消息循环中,并且该应用程序被选中。只需通过发送消息循环即可“完成阅读”通知。

这样做的好处是,回调与发出“读取”调用的线程在同一线程上运行,从而避免了线程恶梦(例如,数据争用,在触摸控件之前必须先编码到GUI线程等)。

是否可以在.NET中执行此操作?我到处搜寻了,无法解决。

最佳答案

网络堆栈和UI堆栈不是紧密耦合的,所以没有。但是,在异步回调中,您可以使用

someControl.Invoke(workToDo, args);

在Winforms中切换回UI线程(通过消息循环),或在WPF中切换回Dispatcher.Invoke。

关于c# - .NET:异步套接字,其回调在GUI线程上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6966054/

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