Kiran Kiran - 10 months ago 123
Bash Question

Multithreading in Bash

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

I have a script which calls the function

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 Source

Sure, just add & after the command:

read_cfg cfgA &
read_cfg cfgB &
read_cfg cfgC &

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.