1.1. Hard Threads and Soft Threads
-
Freecell Solver distinguishes between two levels of tasks:
-
1. Soft Thread - a soft thread is one dedicated scan running
on the state collection.
-
2. Hard Thread - a task that should be performed by one system thread
with all the dedicated resources that should prevent collisions with other
hard threads as much as possible.
-
A hard thread switches between several soft threads.
-
At the moment, hard threads can not be multi-threaded using the system
threads, as no locking mechanisms are in place. But the distinction still
exists in the code.
Written by Shlomi Fish