Maple Professional
Maple Academic
Maple Student Edition
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professional
MapleSim Academic
Maple T.A. - Testing & Assessment
Maple T.A. MAA Placement Test Suite
Möbius - Online Courseware
Machine Design / Industrial Automation
Aerospace
Vehicle Engineering
Robotics
Power Industries
System Simulation and Analysis
Model development for HIL
Plant Modeling for Control Design
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematics Education
Engineering Education
High Schools & Two-Year Colleges
Testing & Assessment
Students
Financial Modeling
Operations Research
High Performance Computing
Physics
Live Webinars
Recorded Webinars
Upcoming Events
MaplePrimes
Maplesoft Blog
Maplesoft Membership
Maple Ambassador Program
MapleCloud
Technical Whitepapers
E-Mail Newsletters
Maple Books
Math Matters
Application Center
MapleSim Model Gallery
User Case Studies
Exploring Engineering Fundamentals
Teaching Concepts with Maple
Maplesoft Welcome Center
Teacher Resource Center
Student Help Center
Threads[Task][Start] - 新しいタスクを起動
使い方
Start(fcn, arg1, ..., argN)
パラメータ
fcn
-
(appliable) タスクで実行する関数
args1..argsN
(anything) fcn の引数、または子タスクの仕様
説明
Start 関数は、タスクモデルを新規に起動します。Start はルートタスクを作成し、タスクが全て終了するか Return 関数が呼ばれることにより現在の呼び出しが終了するまで、順次タスクを実行します。Start の戻り値は、最終タスクの戻り値か、Return に渡される値です。
Start 関数 タスクプログラミングモデル の一部です。
子タスクが指定されていない場合、Start は fnc( args11...argsN ) を評価する単一のタスクを生成します。
子タスクが指定されている場合、Start は各々の子に対してひとつのタスクと、fnc を継続関数とした継続タスクを生成します。fnc の値は、プロシージャまたは定義済みの継続関数の名前。
2 つの定義済みの継続関数は passed および null。
passed は、自身に渡される引数を返します。
null は NULL を返します。
Start に次の形式の引数を与えると、
Task = [ cfcn, carg1 ... cargn ]
次のコマンドを実行する子タスクを生成します。
cfcn( carg1 ... cargn )
Tasks = [ cfcn, [c1args] ... [cnargs] ]
次の形式の Task 引数が複数与えられているように振舞います。
Task = [ cfcn, c1args ], Task = [ cfcn, c2args ], ... Task = [ cfcn, cnargs ]
従って、次の各コマンドを実行するタスクを生成します。
cfcn( c1args ), cfcn( c2args ) ... cfcn( cnargs )
子タスクの戻り値は、継続関数の引数列内のその子の位置より継続関数に渡されます。
上記以外の形式の引数は、対応する位置の引数として継続関数 fcn に渡されます。
Start へのコールに伴い子タスクが生成される場合は、その子タスクが全て終了するまで継続タスクは実行を開始しません。
互換性
Threads[Task][Start] コマンドは Maple 15 で更新されました。
例
with(Threads[Task]); cont := proc( a, b ) return a + b; end proc;
task := proc( i, j ) local k; if ( j-i < 1000 ) then return add( k, k=i..j ); else k := floor( (j-i)/2 )+i; Continue( cont, Task=[ task, i, k ], Task=[ task, k+1, j ] ); end if; end proc;
Start( task, 1, 10^7 );
Start( cont, Task=[task, 1, 5*10^6], Task=[task, 5*10^6+1, 10^7] );
Start( cont, Tasks=[task, [1, 5*10^6], [5*10^6+1, 10^7] ] );
add( i, i=1..10^7 );
参照
Continue, examples,Task, Task, Task Programming Model
Download Help Document