next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Macaulay2Doc > The Macaulay2 language > parallel programming with threads and tasks > schedule

schedule -- schedule a task for execution



The computation proceeds in the background, in a thread. The status of the task can be observed by printing t. When the computation is finished, as can be detected with isReady(Task), the final value can be retrieved with taskResult(Task).

If notify is set to true, then useful messages are printed when the task changes state.

i1 : f = x -> 2^x

o1 = f

o1 : FunctionClosure
i2 : t = createTask(f,3)

o2 = <<task, created>>

o2 : Task
i3 : schedule t

o3 = <<task, result available, task done>>

o3 : Task
i4 : while not isReady t do sleep 1
i5 : taskResult t

o5 = 8
i6 : u = schedule(f,4)

o6 = <<task, result available, task done>>

o6 : Task
i7 : while not isReady u do sleep 1
i8 : taskResult u

o8 = 16

Ways to use schedule :

For the programmer

The object schedule is a compiled function.