172. While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
173. While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
For 1からプロセス数まで
// それぞれの4Dプロセスに時間を与える
For 4D If プロセスが遅延あるいは停止されていなければ
プロセスそれぞれにつき
Give そのコードを 1 tick 実行する(16 ms)
最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
174. While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
175. While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
176. While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
177. While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
SET DATABASE PARAMETER
Pass イベントをプロセスに伝達
4D Server Scheduler
End if
4D Remote Scheduler
End if
4D Local Mode Scheduler
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
180. スケジューラー
While 4D 実行中
// システムイベントを処理
Repeat
If チェック_間隔 が経過した
If 4Dはビジーである
タイムアウト = タイムアウト_最短
Else
タイムアウト = タイムアウト_最長
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
181. スケジューラー: 4Dを最高に
While 4D 実行中
// システムイベントを処理
Repeat
If 5 ticks が経過した
If 4Dはビジーである
タイムアウト = 0 tick
Else
タイムアウト = 1 ticks
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
182. スケジューラー: 4Dを標準に
While 4D 実行中
// システムイベントを処理
Repeat
If 0 ticks が経過した
If 4Dはビジーである
タイムアウト = 0 tick
Else
タイムアウト = 8 ticks
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04
183. スケジューラー: 4Dを最低に
While 4D 実行中
// システムイベントを処理
Repeat
If 0 ticks が経過した
If 4Dはビジーである
タイムアウト = 1 tick
Else
タイムアウト = 16 ticks
End if
// ここでシステムに制御を返す
Get イベントあるいは タイムアウト まで待機
If イベントは4Dプロセスに関係
Pass イベントをプロセスに伝達
End if
End if
Until イベントがない
!
// それぞれの4Dプロセスに時間を与える
For 4D プロセスそれぞれにつき
Give 最低 1 tick アクティブプロセスを実行
End while
Tokyo/2010-03-03/04