I need a C program that will find 4 prime numbers and store them in a shared array of 4 integer elements. Your program must have 4 threads running, each thread will find one prime number in a given range and place it in the first available position of the shared array. When a thread determines that the candidate integer is prime, it must *atomically* place it in the shared array of prime numbers. This must be done in one or more critical sections (*protected by binary semaphores*) lest another thread try to place another prime number to the shared array at the same time. At any instant, only ONE thread is allowed to access the shared array of integers.

I will need to write a** **function *prime_test*() to determine the primality of a candidate integer. The 4 prime numbers will be generated as follows:

· The main thread generates a random number in the range of 100~500, and then test its primality. If it is not prime, increase the number by 1 and then test its primality again. Repeat until a prime number is found.

· The 2^{nd} thread generates a random number in the range of 1000~2000, and follow the same steps as above to find the 2^{nd} prime number.

· The 3^{rd} thread generates a random number in the range of 10000~20000, and follow the same steps as above to find the 3^{rd} prime number.

· The 4^{th} thread generates a random number in the range of 50000~60000, and follow the same steps as above to find the 4^{th} prime number.

### Recently Asked Questions

- Please refer to the attachment to answer this question. This question was created from c33b85ba3e5b98701f60205bfba9f3bd_778004977132155eff358750f64d8ff5.docx.

- 1- Calculate the lattice energy of KH (s) using the following thermodynamic data (all data is in kJ/mol). Note that the data given has been perturbed, so

- If the central bank targets a rate of NGDP growth, then it would have to ________ money growth when NGDP falls below its target in order to ________ inflation