Maple Professionel
Maple Académique
Maple Edition Étudiant
Maple Personal Edition
Maple Player
Maple Player for iPad
MapleSim Professionel
MapleSim Académique
Maple T.A. - Suite d'examens de classement
Maple T.A. MAA Placement Test Suite
Möbius - Didacticiels de mathématiques en ligne
Machine Design / Industrial Automation
Aéronautique
Ingénierie des véhicules
Robotics
Energie
System Simulation and Analysis
Model development for HIL
Modélisation du procédé pour la conception de systèmes de contrôle
Robotics/Motion Control/Mechatronics
Other Application Areas
Enseignement des mathématiques
Enseignement de l’ingénierie
Enseignement secondaire et supérieur (CPGE, BTS)
Tests et évaluations
Etudiants
Modélisation financière
Recherche opérationnelle
Calcul haute performance
Physique
Webinaires en direct
Webinaires enregistrés
Agenda des évènements
Forum MaplePrimes
Blog Maplesoft
Membres Maplesoft
Maple Ambassador Program
MapleCloud
Livres blancs techniques
Bulletin électronique
Livres Maple
Math Matters
Portail des applications
Galerie de modèles MapleSim
Cas d'Etudes Utilisateur
Exploring Engineering Fundamentals
Concepts d’enseignement avec Maple
Centre d’accueil utilisateur Maplesoft
Centre de ressources pour enseignants
Centre d’assistance aux étudiants
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