क्या एक (परमाणु) ऑपरेशन में अलग-अलग सेमाफोर पर कई वेतन वृद्धि/कमी करने का कोई तरीका है?
मैंने देखा कि SysV में ऐसा करना संभव है और मैं सोच रहा था कि POSIX API का उपयोग करके ऐसा करने का कोई तरीका है या नहीं।
यहाँ मैं क्या करना चाहता हूँ (SYSV में):
sem[0].sem_num = 0;
sem[0].sem_op = 1;
sem[0].sem_flg = 0;
sem[1].sem_num = 1;
sem[1].sem_op = -1;
sem[1].sem_flg = 0;
semop(semid, sem, 2)
क्या पॉज़िक्स में ऐसा करने का कोई तरीका है?
2
Bers
28 पद 2020, 21:43
1 उत्तर
सबसे बढ़िया उत्तर
क्या
semaphore.h
का उपयोग करके ऐसा करने का कोई तरीका है?
नहीं, यह संभव नहीं है।
क्या POSIX में ऐसा करने का कोई तरीका है?
आपके द्वारा पोस्ट किया गया कोड XSI एक्सटेंशन को POSIX में उपयोग कर रहा है। आम तौर पर, यहां तक कि मानक भी कहता है कि यदि आप POSIX संगत प्लेटफॉर्म पर हैं, तो आप इस विश्वास के साथ XSI एक्सटेंशन का उपयोग कर सकते हैं कि यह उपलब्ध होगा।
2
KamilCuk
28 पद 2020, 22:51
semop()
हैsemop()
पॉज़िक्स है। यदि आप मानकApplication writers may confidently make use of an extension on all systems supporting the X/Open System Interfaces Extension
को उद्धृत करते हुएXSI
के बारे में सोच रहे हैं। क्या आपके पास एक वास्तविक प्रणाली है जहाँ आपके पासsemaphore.h
है लेकिन XSI सेमाफोर नहीं है? क्या आप साझा कर सकते हैं कि वह कौन सी प्रणाली है?<semaphore.h>
सेमाफोर का उपयोग करना चाहते हैं?