【小技】DELAY PROCESSに渡すことができる値
【小技】DELAY PROCESSに渡すことができる値
DELAY PROCESSは,一定時間,プロセスの実行スケジュールを延期するコマンドです。
4Dのプロセスは,コオペラティブスレッドなので,スケジューラーにより,順番に少しずつ処理が進められるように設計されています。延期されたプロセスは,順番がしばらく"回ってこない(飛ばされる)"ため,他のプロセスにそれだけ多くのCPU時間が配分できる,というメリットがあります。
v15以降,このコマンドに渡せる数値値の型が整数から実数に変更されました。1Tick(1/60秒)よりも小さな値を指定することにより,わずかでも余った時間を有効に利用することが狙いです。少数以下の指定は,100個以上のプロセスが同時に実行されているようなアプリケーションにおいて特に有用です。
他方,この変更は,実数ならではのおおきな値を渡すことを想定したものではありません。
遅延時間は,内部的にTickからミリ秒に変換された後,内部的に符合付き32ビット整数で表現されるため,2,147,483,647ミリ秒,つまり24日程度という上限は変わりません。ですから,定期的に処理を実行するための方法としてDELAY PROCESSを使用している場合,3週間以上先のスケジュールを"予約"することはできない,という点に留意する必要があります。
4Dのプロセスは,コオペラティブスレッドなので,スケジューラーにより,順番に少しずつ処理が進められるように設計されています。延期されたプロセスは,順番がしばらく"回ってこない(飛ばされる)"ため,他のプロセスにそれだけ多くのCPU時間が配分できる,というメリットがあります。
v15以降,このコマンドに渡せる数値値の型が整数から実数に変更されました。1Tick(1/60秒)よりも小さな値を指定することにより,わずかでも余った時間を有効に利用することが狙いです。少数以下の指定は,100個以上のプロセスが同時に実行されているようなアプリケーションにおいて特に有用です。
他方,この変更は,実数ならではのおおきな値を渡すことを想定したものではありません。
遅延時間は,内部的にTickからミリ秒に変換された後,内部的に符合付き32ビット整数で表現されるため,2,147,483,647ミリ秒,つまり24日程度という上限は変わりません。ですから,定期的に処理を実行するための方法としてDELAY PROCESSを使用している場合,3週間以上先のスケジュールを"予約"することはできない,という点に留意する必要があります。
miyako- 投稿数 : 483
登録日 : 2016/07/05
Permissions in this forum:
返信投稿: 不可
|
|