ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / Process functions / Parallel tasks
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
ParallelTaskExecuteAfterOne (Function)
In french: TâcheParallèleExécuteAprèsUne
Indicates a continuation parallel task that will be run once the first task is completed in an array of parallel tasks.
Example
// Starts two tasks
t1 is ParallelTask = ParallelTaskExecute(Proc1)
t2 is ParallelTask = ParallelTaskExecute(Proc2)
// The ContinuationProc procedure will be run when one of the two tasks is ended
ParallelTaskExecuteAfterOne([t1,t2], ContinuationProc)
Syntax

Indicating a procedure that will be run after the first previous task Hide the details

<Result> = ParallelTaskExecuteAfterOne(<Previous tasks> , <Continuation procedure> [, <Parameters> [, <Options>]])
<Result>: ParallelTask variable
ParallelTask variable corresponding to the created continuation task.
<Previous tasks>: Array of ParallelTasks
Name of the array of ParallelTask variables corresponding to the previous tasks.
<Continuation procedure>: Character string or Procedure variable
Continuation procedure to run. This parameter can correspond to:
  • the name of the continuation procedure to run.
  • the name of the Procedure variable corresponding to the continuation procedure to run.
<Parameters>: List of values enclosed in brackets and separated by commas
Parameters of procedure to run. This list of parameters has the following format:
(<Parameter 1>, ..., <Parameter N>)
where:
  • <Parameter 1>: First procedure parameter.
  • ...
  • <Parameter N>: Nth procedure parameter.
The ReturnedValuePreviousTask keyword is used to pass the return values of the first previous ended task as parameter of continuation procedure
<Options>: Optional Integer constant (or combination of constants)
Options of task to run:
ptoDelayedCopyHFSQLContext
(Default value)
Triggers a light copy of HFSQL context during the first access to the HFSQL data.
ptoFullCopyHFSQLContextTriggers the immediate copy of the current HFSQL context.
Recommended, for example, if the parallel task must take into account the current positions in the files and queries of the context of the caller.
ptoLightCopyHFSQLContextTriggers the immediate copy of a part of the current HFSQL context.
Only the directories containing the data files in HFSQL Classic mode and/or the connections in HFSQL Client/Server mode are stored.
ptoMainThreadRuns the task in the main thread.
This constant can be combined with one of the other constants.

Indicating a task that will be run after the first previous task Hide the details

<Result> = ParallelTaskExecuteAfterOne(<Previous tasks> , <Continuation task>)
<Result>: ParallelTask variable
ParallelTask variable corresponding to the continuation task.
<Previous tasks>: Array of ParallelTasks
Name of the array of ParallelTask variables corresponding to the previous tasks.
<Continuation task>: ParallelTask variable
Name of the ParallelTask variable corresponding to the continuation task.

Describing a task that will be run after the first previous task Hide the details

<Result> = ParallelTaskExecuteAfterOne(<Previous tasks> , <Description of continuation task>)
<Result>: ParallelTask variable
ParallelTask variable corresponding to the continuation task.
<Previous tasks>: Array of ParallelTasks
Name of the array of ParallelTask variables corresponding to the tasks run.
<Description of continuation task>: Description of ParallelTask variable
Name of the Description of ParallelTask variable describing the continuation task.
Remarks
  • ParallelTaskExecuteAfterOne is a non-blocking function.
  • If the function is called while one of the tasks is already ended, the continuation will be run as soon as possible.
  • If the function is called while all the tasks have been canceled, the continuation will not be run.
  • If all the previous task are canceled while a continuation was created, the continuation will not be run.
  • In the code of the continuation task, the MyPreviousParallelTask keyword is used to handle the first previous task ended.
Related Examples:
Using parallel tasks Unit examples (WINDEV): Using parallel tasks
[ + ] The parallel tasks are used to speed up the process times and to improve the reactivity of an application.
This example presents the functions and types of variables required to use the parallel tasks:
- running parallel tasks,
- interaction with the controls,
- continuation tasks.
Component: wd290vm.dll
Minimum version required
  • Version 20
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 06/22/2023

Send a report | Local help