Python is designed in a manner that requires a set of instructions to be completed before executing the next set. This means that in order for Python to execute line 2, for example, it must first complete line 1. This is an important feature that affects all of our scripts and has allowed us to create linear, nonparallel programs. In some instances, it may be beneficial to perform operations simultaneously. In these situations, we can leverage the standard multiprocessing
library.
This library allows us to spawn new processes to perform tasks. Our code will use the main process executed at runtime to spin up two additional processes. One process monitors for new processes on the system and the other process captures user information. The main process will monitor these two workers and handle the execution and status of each process.
To demonstrate this logic, we will build a small sample in the code block below. On the first two lines, we...