View the step-by-step solution to:

I need a C program that will find 4 prime numbers and store them in a shared array of 4 integer elements.

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 2nd thread generates a random number in the range of 1000~2000, and follow the same steps as above to find the 2nd prime number.

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

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

Recently Asked Questions

Why Join Course Hero?

Course Hero has all the homework and study help you need to succeed! We’ve got course-specific notes, study guides, and practice tests along with expert tutors.

-

Educational Resources
  • -

    Study Documents

    Find the best study resources around, tagged to your specific courses. Share your own to gain free Course Hero access.

    Browse Documents
  • -

    Question & Answers

    Get one-on-one homework help from our expert tutors—available online 24/7. Ask your own questions or browse existing Q&A threads. Satisfaction guaranteed!

    Ask a Question