Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading “一词”的含义是什么;事件循环“;w、 Qt中的r.t螺纹?_Multithreading_Qt_Event Loop - Fatal编程技术网

Multithreading “一词”的含义是什么;事件循环“;w、 Qt中的r.t螺纹?

Multithreading “一词”的含义是什么;事件循环“;w、 Qt中的r.t螺纹?,multithreading,qt,event-loop,Multithreading,Qt,Event Loop,这两个链接讨论事件循环。请解释术语“事件循环”的“含义”Qt中的w.r.t线程?事件循环通常是由主线程运行的循环,用于接收来自系统(例如GUI交互、网络事件、计时器等)或其他Qt组件(例如…)的事件。事件循环等待新事件到达事件队列,然后将它们从队列中取出,并将它们发送到目标QObject,在那里它们由被覆盖的对象处理(例如QPushButton将通过发射…)来处理鼠标按下事件 每线程事件循环是上述概念的概括。这使得通过引入QObject的概念来处理工作线程中的事件成为可能。线程关联是特定QObj



这两个链接讨论事件循环。请解释术语“事件循环”的“含义”Qt中的w.r.t线程?

事件循环通常是由主线程运行的循环,用于接收来自系统(例如GUI交互、网络事件、计时器等)或其他Qt组件(例如…)的事件。事件循环等待新事件到达事件队列,然后将它们从队列中取出,并将它们发送到目标
QObject
,在那里它们由被覆盖的对象处理(例如
QPushButton
将通过发射…)来处理鼠标按下事件

每线程事件循环是上述概念的概括。这使得通过引入
QObject
的概念来处理工作线程中的事件成为可能。线程关联是特定
QObject
应在其中处理其事件的线程(为此
QObject
调用
QObject::event
的线程)。总而言之,这可以用于在工作线程中运行异步代码(因为GUI代码应该只在主线程中运行)。例如,您可以运行多个异步套接字,并让
QTimer
s在一个工作线程中指定的一段非活动时间后断开这些套接字的连接。每线程事件循环对于交叉线程信号插槽连接也是必不可少的,因为这种信号发射被转换为引擎盖下的
QMetaCallEvent
s(将被传送到其目标
QObject