次の方法で共有


EventLoop_Run関数

ヘッダー: applibs </eventloop.h #include>

EventLoop を実行し、呼び出し元の実行スレッドで保留中のイベントをディスパッチします。

EventLoop_Run_Result EventLoop_Run(EventLoop *el, int duration_in_milliseconds,
                                   bool process_one_event);

パラメーター

  • el 実行する EventLoop。

  • duration_in_milliseconds イベント ループを実行する時間の長さ。 0 の場合、パラメーターの値に関係なく、準備ができたらループは 1 つのイベントを process_one_event 処理し、すぐに中断します。 0 より大きい場合、ループは中断されない限り、指定した期間実行されます。 0 未満の場合、ループは中断されるまで実行を続けます。 その他の条件については、 EventLoop_Stop 関数と process_one_event パラメーターを参照してください。

  • process_one_event 最初のイベントが処理された後にループを中断するかどうかを示します。 false の場合、ループはパラメーターで duration_in_milliseconds 指定された期間、または EventLoop_Stopによって中断されるまで実行を続けます。 このパラメーターは、0 の場合 duration_in_milliseconds は無視されます。

戻り値

この関数呼び出しの結果を示す EventLoop_Run_Result 値を返します。

発言

アプリケーションは を呼び出して、呼び出 EventLoop_Run(el, -1, false) し元のスレッドの制御を に EventLoop渡すことができます。

アプリケーションが を呼び出した EventLoop_Run(el, -1, true)場合、ループはブロックされ、最初のイベントの準備が整うまで待機します。その後、イベントが処理され、 が返されます。

アプリケーションは 、EventLoop_Stop を呼び出して、前に終了 EventLoop_Run できます。