Saturday, September 17, 2005 6:53:36 PM (GMT Standard Time, UTC+00:00)
When you call WorkflowRuntime.StartWorkflow - the workflow itself is started from one of the CLR thread pool threads (this is done via the Runtime's ThreadingService - this is what the default threading service does).
What this means is that a running workflow will *not* keep a process alive - since the the CLR thread pool threads have IsBackground set to true. Even the DefaultThreadingService's thread (it uses one thread to cycle over any workitems it has in its internal queue - any workflows that need executed) won't keep the process alive.
On a threading related note - please don't assume (just like in BizTalk) that the parrallel activity spawns multiple threads - it doesn't. There is a scheduler inside of the workflowruntime that will schedule execution of activities instead of each parrallel branch in parrallel - but not on multiple threads (each contained activity is queued). So the execution of each branch happens in parrallel - but not on multiple threads - each branch has its first activity executed first before the scheduler executes the second activity and so on.
WWF