Question: #include #include #include #include /** In this system, there are 2 typesOfProcesses - A and B. A and B processes can safely run at the
#include#include #include #include /** In this system, there are 2 typesOfProcesses - A and B. A and B processes can safely run at the same time - they don't affect each other. Only 2 As can safely run at the same time. Only 3 Bs can safely run at the same time. Use semaphores to enforce this constraint. **/ void *typeA(void *arg) { printf("Starting A "); sleep(1); printf("A finished. "); return NULL; } void *typeB(void *arg) { printf("Starting B "); sleep(1); printf("B finished. "); return NULL; } int main(int argc, char **argv) { pthread_t tid[10]; pthread_attr_t attr; int i; for (i = 0; i < 5; i++) { pthread_create(&tid[i], NULL, typeA, NULL); } for (i = 5; i < 10; i++) { pthread_create(&tid[i], NULL, typeB, NULL); } for (i = 0; i < 10; i++) { pthread_join(tid[i], NULL); } printf("Everything finished. "); }
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
