सी . में डाइनिंग फिलॉसॉफर्स प्रॉब्लम सॉल्यूशन

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

भोजन दार्शनिकों की समस्या एक बहुत प्रसिद्ध और दिलचस्प समस्या है जिसका उपयोग गतिरोध की अवधारणा को प्रदर्शित करने के लिए किया जाता है।



यह समझने के लिए कि भोजन करने वाले दार्शनिकों की समस्या वास्तव में क्या है, आप इस ब्लॉग को देख सकते हैं:






भोजन दार्शनिक की समस्या

डाइनिंग दार्शनिक की समस्या ऑपरेटिंग सिस्टम में संसाधन साझा करने की समस्या का वास्तविक जीवन प्रदर्शन है।



अनुष्का 5000.medium.com



यहां, मैं सी में सेमाफोर की अवधारणा का उपयोग करके इस समस्या के समाधान की व्याख्या करने जा रहा हूं। यहां कार्यक्रम है:






#include #include #include #include #include sem_t room; sem_t chopstick[5]; void * philosopher(void *); void eat(int); int main() { int i,a[5]; pthread_t tid[5]; sem_init(&room,0,4); for(i=0;i<5;i++) sem_init(&chopstick[i],0,1); for(i=0;i<5;i++){ a[i]=i; pthread_create(&tid[i],NULL,philosopher,(void *)&a[i]); } for(i=0;i<5;i++) pthread_join(tid[i],NULL); } void * philosopher(void * num) { int phil=*(int *)num; sem_wait(&room); printf(' Philosopher %d has entered room',phil); sem_wait(&chopstick[phil]); sem_wait(&chopstick[(phil+1)%5]); eat(phil); sleep(2); printf(' Philosopher %d has finished eating',phil); sem_post(&chopstick[(phil+1)%5]); sem_post(&chopstick[phil]); sem_post(&room); } void eat(int phil) { printf(' Philosopher %d is eating',phil); } /* BY - ANUSHKA DESHPANDE */

#धागे #गतिरोध #सेमाफोर #सी-कार्यक्रम #भोजन-दार्शनिक #सी++

माध्यम.कॉम

सी . में डाइनिंग फिलॉसॉफर्स प्रॉब्लम सॉल्यूशन

भोजन दार्शनिकों की समस्या एक बहुत प्रसिद्ध और दिलचस्प समस्या है जिसका उपयोग गतिरोध की अवधारणा को प्रदर्शित करने के लिए किया जाता है। यह समझने के लिए कि भोजन करने वाले दार्शनिकों की समस्या वास्तव में क्या है, आप इस ब्लॉग को देख सकते हैं।