Title:

join() - have this thread wait until one or more threads have finished.

Usage:

join(...)

Arguments:

...:
thread or threadGroup objects

Side Effect:

The return value is a list of objects that are returned from each of the threads on which we are joining. The order of the thread values is the same as the order in which threads and thread groups are passed in .... The return values for a thread group are identified by name. If any of threads on which we are joining are already terminated, they are trivially and immediately joined.

NOTE:

The Pthreads implementation allows a thread to join on just one other thread. There is no simple way to join on multiple threads in a single call and some more complicated synchronization using shared variables is required.
This is implemented through the evaluator manager.

See Also:

exit()

Examples:

      t1 = thread(Quote(fit1 = method1(x,y)))
      t2 = thread(Quote(fit2 = method2(x,y)))
      t3 = thread(Quote(fit3 = method3(x,y)))

      values = join(t1,t2,t3)
      ans = min(values)   # now compute the minimum of the answers

Key Words:

User Level Threads

Last modified: Thu Feb 6 15:03:17 1997