gpt4 book ai didi

c# - SerialPort DataReceived 事件线程

转载 作者:行者123 更新时间:2023-11-30 17:27:16 27 4
gpt4 key购买 nike

根据 DataReceived 事件的 MSDN,它说

The DataReceived event is raised on a secondary thread when data is received from the SerialPort object.

这是否意味着只有一个辅助线程始终触发该事件?或者 SerialPort 对象是否在每次触发 DataReceived 事件时创建一个新线程?那么当我处于 DataReceived 事件中时,我的 DataReceived 事件是否会触发?

我试着用谷歌搜索这个,但找不到好的答案。

最佳答案

根据 MSDN 论坛上的这篇帖子 here .

When it does, data received in your case, it dips in the ThreadPool and calls QueueUserWorkItem() which allocates a thread pool thread to call your DataReceived event handler. It then immediately calls WaitCommEvent() again to wait for the next "something interesting".

这听起来像 SerialPort 对象使用了一个 ThreadPool 所以虽然 DataReceived 事件在不同的 Threads,它们已经存在于 ThreadPool 中,因此没有创建新线程的开销。

因此,即使您在其中,也有可能触发事件,因为它将在不同的线程上。

关于c# - SerialPort DataReceived 事件线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55225870/

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