ScheduledTask[] を理解するのに少し苦労しています。これは V 8 で追加されました。
Windows 7、64ビット、V 8.01を使用して、次のコードを実行すると
dt = 0.01;
c = 0;
Dynamic[c]
task = CreateScheduledTask[c += 1, {dt, 100}];
StartScheduledTask[task];
期待どおりの 100 ではなく、値 51 で終わる 'c' を取得します。
上記の「dt」をより大きな値、たとえば 0.02 秒、または 0.02 秒よりも大きな値に変更すると、毎回 100 になります。
'dt' を 0.005 にすると、c=27 になります。'dt' を 0.0025 にすると、c は 18 になります。
したがって、「dt」制限 (CPU 時間の粒度) は、私が望むものを得るには 0.02 のようです。これは 20 ミリ秒です。
しかし、他の Web サイトから、Windows 7 (もちろん HW に依存します) はこれよりもはるかに小さい CPU クロック解像度を提供できることがわかります。1 ~ 10 ミリ秒の場合があります。
ここで何かが足りないのですか、それともこの機能を誤解していますか?
この関数のヘルプは言う
creates a task that will try evaluating expr once every time seconds up to count times total
Mathematica 独自のドキュメントを使用しても、これに関する詳細情報を見つけることができませんでしたが、見落としていた可能性があります。
この関数のドキュメントはhttp://reference.wolfram.com/mathematica/ref/CreateScheduledTask.htmlです
ありがとうございます。完了時にタスクを削除するには、コマンドは次のとおりです
RemoveScheduledTask[task]
またはすべてをきれいにする:
RemoveScheduledTask[ScheduledTasks[]]
私が持っているハードウェアは次のとおりです: Intel i7 CPU 930、2.8 Ghz 4 コア