For your exaction question Uzair, WF2 will run.
I wanted to provide the official description of how this works. I will be covering this topic in AED224: Optimizing Workflow Performance at the empower 2015 conference. This description covers workflow 8.0 through 9.2.
Workflow is a multi-threaded application with the following rules:
- Each version of a published workflow runs in a container called a workflow runtime.
- Each workflow runtime has a pool of threads (4x # of logical cores) for all instances of that workflow version to run on.
- A given instance of a workflow is single threaded on one of these runtime threads
In my presentation, I like to describe this using the concept of a carnival 'fun' slide:


WF1 and WF 2 each have their own slide (these are 2 core slides, so 8 threads each) . When an instance wants to run an activity, it queues up the staircase and goes down the slide (like a fun slide, you can't go down the slide until its cleared out). So as long as WF 2 is not running more then 4x # logical core instances already, it'll start running immediately.
Last thing to address, parallel activities in a workflow, how are they parallel if workflow instances are single threaded! The answer usually depends on what the parallel activity is doing, which in most cases, is waiting. When a workflow activity waits... Wait for Entry Change, Delay, or any of the 'external' activities that call out to the world like query data, scripts, etc. the workflow instance queues in the next activity to run on that thread, usually from a different parallel branch. This generally results in an interleaving pattern from the branches. Each instance being single-threaded provides a lot of performance benefits because it greatly reduces lock contentions for Laserfiche entries and database resources.
Finally, for truely parallel execution, you should use invoke workflow.
.