You will create a number of threads—for example, 100—and each thread sleep for a random period of time, request a pid, sleep again for a random period of time, and then release the pid.
You will create a number of threads—for example, 100—and each thread sleep for a random period of time, request a pid, sleep again for a random period of time, and then release the pid. Sleeping for a random period of time approximates the typical pid usage in which a pid is assigned to a new process, the process executes and then terminates, releasing the pid on the process's termination. You should use a linked list to store the pids. On UNIX and Linux systems, sleeping is accomplished through the sleep() function, which is passed an integer value representing the number of seconds to sleep. The number of threads to create as well as the maximum sleep time will be passed on the command line as: For example: ./a3q3 100 15 This represents 100 threads, each with a random sleep time of up to 15 seconds. Code that compiles and runs with correct logic will be evaluated for full marks even if they present some instability (e.g. segmentation fault errors).
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 1 images