プロセスの待ち合わせ
あるプロセス内で、あるイベントが発生するまで待ち合わせをする時はwait()を使用する。以下にwait()の使用方法を示す。
タイプ |
使用方法 |
例 |
wait() |
センシティビティ・リストのイベントが発生するまで待つ |
wait(); |
wait(イベント名) |
ヘッダー内で指定したイベントが発生するまで待つ |
wait(startEvent); |
wait(時間, 単位) |
指定した時間まで待つ このオーバーロードは、SC_CTHREADで指定したプロセス内でのみ使用できる |
wait(30, SC_NS); |
wait(クロック数) |
指定したクロックエッジまで待つ このオーバーロードは、SC_CTHREADで指定したプロセス内でのみ使用できる |
wait(100); |
イベントの通知
wait()での待ち合わせを解除するには、notify()を使用する。モジュールヘッダー内でsc_eventで宣言したイベントが発生するまで、あるモジュールが待ち合わせをしている時、notifyメソッドでイベントを通知する。
それにより、 wait(イベント名)で待ち合わせしていたプロセスが起動する。notifyの使用方法は以下の種類がある。
タイプ |
使用方法 |
例 |
notify() |
即イベントを通知する |
イベント名.notify(); |
notify(時間, 単位) |
指定した時間後にイベントを通知する |
イベント名.notify(10, SC_NS); |
notify(時間) |
指定時間待った後に通知 指定時間はsc_main()による |
イベント名.notify(); |
cancel() |
指定イベントの通知をキャンセルする |
イベント名.cancel(); |
|