Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 494
Dabloons Avatar asked Oct 25 '12 18:10

Dabloons


People also ask

How do you show multiple threads in a sequence diagram?

You can use a "par" fragment to model multiple synchronous calls being executed in parallel. The fragment consists of a rectangle with the label "par". The rectangle is divided into multiple boxes, each representing a thread of execution.

Can a flowchart have multiple paths?

Your flowcharts can also have multiple lanes, looping paths, or separate paths leading to the same endpoint. Each flowchart differs based on what process or workflow it represents.

What is multiple threading?

Multithreading is the ability of a program or an operating system to enable more than one user at a time without requiring multiple copies of the program running on the computer. Multithreading can also handle multiple requests from the same user.

Can a flowchart have multiple stops?

There's no technical reason you cannot have as many start and stop points as you want in a flowchart.


2 Answers

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.

like image 188
Devsman Avatar answered Oct 05 '22 12:10

Devsman


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

like image 42
John Avatar answered Oct 05 '22 11:10

John