#### D.2.7.1 parallelWaitN

Procedure from library `parallel.lib` (see parallel_lib).

Usage:
  parallelWaitN(commands, arguments, N[, timeout]); commands list, arguments list, N int, timeout int

Return:
  a list, containing the results of commands[i] applied to arguments[i], i = 1, ..., size(arguments).
  The procedure waits for N jobs to finish.
  An optional timeout in ms can be provided. Default is 0 which disables the timeout.

Note:
  The entries of the list commands must be strings. The entries of the list arguments must be lists.
  The type of any entry of the returned list whose corresponding task did not finish (due to timeout or error) is "none".
  The returned list may contain more than N results if several jobs finished "at the same time". It may contain less than N results in the case of timeout or errors occurring.

Example:

    LIB "parallel.lib";
    ring R = 0, (x,y,z), lp;
    ideal I = 3x3y+x3+xy3+y2z2, 2x3z-xy-xz3-y4-z2, 2x2yz-2xy2+xz2-y4;
    ideal J = x10+x9y2, x2y7-y8;
    list commands = list("std", "std");
    list arguments = list(list(I), list(J));
    parallelWaitN(commands, arguments, 1);
    ==> [2]:
    ==>    _[1]=y15-y12
    ==>    _[2]=xy12+y14
    ==>    _[3]=x2y7-y8
    ==>    _[4]=x10+x9y2

See also: parallelWaitAll; parallelWaitFirst; tasks_lib.

User manual for Singular version 4.4.1, 2025, generated by texi2html.