Kiran Kiran - 2 months ago 22
Bash Question

Multithreading in Bash

I would like to introduce multithreading feature in my shell script.

I have a script which calls the function

read_cfg()
with different arguments.
Each of these function calls are independent.

Would it be possible to instantiate these function calls (not scripts) parallelly.
Please let me how can we achieve that.. ?

Answer

Sure, just add & after the command:

read_cfg cfgA &
read_cfg cfgB &
read_cfg cfgC &
wait

all those jobs will then run in the background simultaneously. The optional wait command will then wait for all the jobs to finish.

Each command will run in a separate process, so it's technically not "multithreading", but I believe it solves your problem.

Comments