I recently read that paper, which describes a Java Fork / Join framework with Work Stealing Algroithms found here
Taken from that paper, we start with this:
Result solve(Problem problem) {
if (problem is small)
directly solve problem
else {
split problem into independent parts
fork new subtasks to solve each part
join all subtasks
compose result from subresults
}
}
Those forked subtasks (line 2 in the else block) can recursively create more subtasks themself and thus fill up the working queues of the parallely working threads. If one thread finished and has nothing more to do, he can "steal" the work from the queue of another thread.
So much for short, for all the details I would suggest looking into the paper.