4D-JUG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

【小技】DELAY PROCESSに渡すことができる値

Go down

【小技】DELAY PROCESSに渡すことができる値 Empty 【小技】DELAY PROCESSに渡すことができる値

投稿 by miyako 2017-04-21, 1:18 pm

DELAY PROCESSは,一定時間,プロセスの実行スケジュールを延期するコマンドです。

4Dのプロセスは,コオペラティブスレッドなので,スケジューラーにより,順番に少しずつ処理が進められるように設計されています。延期されたプロセスは,順番がしばらく"回ってこない(飛ばされる)"ため,他のプロセスにそれだけ多くのCPU時間が配分できる,というメリットがあります。

v15以降,このコマンドに渡せる数値値の型が整数から実数に変更されました。1Tick(1/60秒)よりも小さな値を指定することにより,わずかでも余った時間を有効に利用することが狙いです。少数以下の指定は,100個以上のプロセスが同時に実行されているようなアプリケーションにおいて特に有用です。

他方,この変更は,実数ならではのおおきな値を渡すことを想定したものではありません。

遅延時間は,内部的にTickからミリ秒に変換された後,内部的に符合付き32ビット整数で表現されるため,2,147,483,647ミリ秒,つまり24日程度という上限は変わりません。ですから,定期的に処理を実行するための方法としてDELAY PROCESSを使用している場合,3週間以上先のスケジュールを"予約"することはできない,という点に留意する必要があります。

miyako

投稿数 : 480
登録日 : 2016/07/05

トップに戻る Go down

トップに戻る


 
Permissions in this forum:
返信投稿: 不可