Dabloons
Dabloons

Reputation: 1502

How does one represent multiple threads in a flow chart

I have been tasked with creating a flow chart for some client server and start up processes in our organizations software. A lot of our processes run concurrently as they have no impact on one another. How is this traditionally represented in the flow chart?

Upvotes: 12

Views: 20592

Answers (3)

helvete
helvete

Reputation: 2673

ECMA-41 Standard: Flow charts (page 6) describes parallel processing within flow-charts using two parallel lines drawn perpendicularly to a given flow line.

Please see the attached screenshot regarding this:

Parallel Mode Symbol (ECMA-4 standard)

Ref 1: ECMA-4: Flow charts Standard with a PDF available for download: https://ecma-international.org/publications-and-standards/standards/ecma-4/

Upvotes: 2

John
John

Reputation: 3524

Examples speak louder than words! See the flow chart in a paper. enter image description here enter image description here

Upvotes: 2

Devsman
Devsman

Reputation: 498

I was thinking that flowcharts aren't really intended for this, but as it turns out, there actually is a notation for concurrency. Wikipedia says:

Concurrency symbol

Represented by a double transverse line with any number of entry and exit arrows. These symbols are used whenever two or more control flows must operate simultaneously. The exit flows are activated concurrently, when all of the entry flows have reached the concurrency symbol. A concurrency symbol with a single entry flow is a fork; one with a single exit flow is a join.

I did some looking around on Google images and found this notation:

Concurrency

But this will only apply for a specific type of parallelism (what if you don't spawn all your threads at once?), and won't apply to a multiprocess model at all. In case of a multiprocess model, I would just make a separate flowchart for each process.

Upvotes: 12

Related Questions