OS இல் செமாஃபோருக்கும் மானிட்டருக்கும் இடையிலான வேறுபாடு

நூலாசிரியர்: Laura McKinney
உருவாக்கிய தேதி: 1 ஏப்ரல் 2021
புதுப்பிப்பு தேதி: 5 மே 2024
Anonim
Lesson 96: Barometric Pressure, Temperature, Approximate Altitude Sensor BMP390 with LCD
காணொளி: Lesson 96: Barometric Pressure, Temperature, Approximate Altitude Sensor BMP390 with LCD

உள்ளடக்கம்


செமாஃபோர் மற்றும் மானிட்டர் இரண்டும் பரஸ்பர விலக்கலில் பகிரப்பட்ட வளங்களை அணுக செயல்முறைகளை அனுமதிக்கின்றன. இரண்டுமே செயல்முறை ஒத்திசைவு கருவி. மாறாக, அவர்கள் ஒருவருக்கொருவர் மிகவும் வேறுபட்டவர்கள். எங்கே சேமாஃபோரும் துவக்கத்தைத் தவிர்த்து காத்திருப்பு () மற்றும் சமிக்ஞை () செயல்பாட்டின் மூலம் மட்டுமே இயக்கக்கூடிய ஒரு முழு எண் மாறி. மறுபுறம், தி மானிட்டர் வகை என்பது ஒரு சுருக்க தரவு வகையாகும், இதன் கட்டமைப்பானது ஒரு செயல்முறையை ஒரே நேரத்தில் செயல்படுத்த அனுமதிக்கிறது. இந்த கட்டுரையில், கீழே காட்டப்பட்டுள்ள ஒப்பீட்டு விளக்கப்படத்தின் உதவியுடன் செமாஃபோர் மற்றும் மானிட்டருக்கு இடையிலான வேறுபாடுகளைப் பற்றி விவாதிப்போம்.

  1. ஒப்பீட்டு விளக்கப்படம்
  2. வரையறை
  3. முக்கிய வேறுபாடுகள்
  4. முடிவுரை

ஒப்பீட்டு விளக்கப்படம்

ஒப்பீட்டுக்கான அடிப்படைசேமாஃபோரும் மானிட்டர்
அடிப்படை செமாஃபோர்ஸ் ஒரு முழு எண் மாறி எஸ்.மானிட்டர் என்பது ஒரு சுருக்க தரவு வகை.
அதிரடிசெமாஃபோர் எஸ் இன் மதிப்பு, கணினியில் பகிரப்பட்ட வளங்களின் எண்ணிக்கையைக் குறிக்கிறதுமானிட்டர் வகை பகிரப்பட்ட மாறிகள் மற்றும் பகிரப்பட்ட மாறியில் செயல்படும் நடைமுறைகளின் தொகுப்பைக் கொண்டுள்ளது.
அணுகல்எந்தவொரு செயல்முறையும் பகிரப்பட்ட வளங்களை அணுகும்போது, ​​அது S இல் காத்திருப்பு () செயல்பாட்டைச் செய்கிறது மற்றும் பகிரப்பட்ட வளங்களை வெளியிடும் போது அது S இல் சமிக்ஞை () செயல்பாட்டை செய்கிறது.எந்தவொரு செயல்முறையும் மானிட்டரில் பகிரப்பட்ட மாறிகளை அணுக விரும்பினால், அதை நடைமுறைகள் மூலம் அணுக வேண்டும்.
நிபந்தனை மாறிசெமாஃபோருக்கு நிபந்தனை மாறிகள் இல்லை.மானிட்டரில் நிபந்தனை மாறிகள் உள்ளன.


செமாஃபோரின் வரையறை

செயல்முறை ஒத்திசைவு கருவியாக இருப்பது, சேமாஃபோரும் ஒரு முழு எண் மாறி எஸ். இந்த முழு எண் மாறி S க்கு துவக்கப்படுகிறது வளங்களின் எண்ணிக்கை கணினியில் உள்ளது. செமாஃபோர் எஸ் இன் மதிப்பை இரண்டு செயல்பாடுகளால் மட்டுமே மாற்ற முடியும் காத்திரு() மற்றும் சிக்னல்() துவக்கத்தைத் தவிர.

காத்திருப்பு () மற்றும் சமிக்ஞை () செயல்பாடு செமாஃபோர் எஸ் இன் மதிப்பை பிரிக்கமுடியாமல் மாற்றியமைக்கிறது. இதன் பொருள் ஒரு செயல்முறை செமாஃபோரின் மதிப்பை மாற்றியமைக்கும்போது, ​​வேறு எந்த செயல்முறையும் ஒரே நேரத்தில் செமாஃபோரின் மதிப்பை மாற்ற முடியாது. மேலும், இயக்க முறைமை செமாஃபோரை எண்ணும் செமாஃபோர்கள் மற்றும் பைனரி செமாஃபோர் என இரண்டு பிரிவுகளாக வேறுபடுத்துகிறது.

இல் செமாஃபோரை எண்ணுகிறது, செமாஃபோர் எஸ் இன் மதிப்பு கணினியில் உள்ள வளங்களின் எண்ணிக்கையில் தொடங்கப்படுகிறது. ஒரு செயல்முறை பகிரப்பட்ட வளங்களை அணுக விரும்பும் போதெல்லாம், அது செயல்படுகிறது காத்திரு() செமாஃபோரில் செயல்பாடு decrements செமாஃபோரின் மதிப்பு ஒவ்வொன்றாக. பகிரப்பட்ட வளத்தை அது வெளியிடும்போது, ​​அது a சிக்னல்() செமாஃபோரில் செயல்பாடு அதிகரிப்பில் செமாஃபோரின் மதிப்பு ஒவ்வொன்றாக. செமாஃபோர் எண்ணிக்கை செல்லும் போது 0, இதன் பொருள் அனைத்து வளங்களும் ஆக்கிரமிக்கப்பட்டுள்ளன செயல்முறைகள் மூலம். செமாஃபோர் எண்ணிக்கை 0 ஆக இருக்கும்போது ஒரு செயல்முறைக்கு ஒரு வளத்தைப் பயன்படுத்த வேண்டியிருந்தால், அது காத்திருப்பு () ஐ இயக்குகிறது தடுக்கப்பட்டது பகிரப்பட்ட வளங்களைப் பயன்படுத்தும் ஒரு செயல்முறை அதை வெளியிடும் வரை மற்றும் செமாஃபோரின் மதிப்பு 0 ஐ விட அதிகமாக இருக்கும் வரை.


இல் பைனரி செமாஃபோர், செமாஃபோரின் மதிப்பு 0 மற்றும் 1 க்கு இடையில் இருக்கும். இது மியூடெக்ஸ் பூட்டுக்கு ஒத்ததாகும், ஆனால் மியூடெக்ஸ் ஒரு பூட்டுதல் பொறிமுறையாகும், அதே சமயம் செமாஃபோர் ஒரு சமிக்ஞை பொறிமுறையாகும். பைனரி செமாஃபோரில், ஒரு செயல்முறை வளத்தை அணுக விரும்பினால், அது செமாஃபோரில் காத்திருப்பு () செயல்பாட்டை செய்கிறது decrements 1 முதல் 0 வரையிலான செமாஃபோரின் மதிப்பு. செயல்முறை வளத்தை வெளியிடும் போது, ​​அது a சிக்னல்.

மானிட்டரின் வரையறை

செயல்முறை ஒத்திசைவுக்கு செமாஃபோரைப் பயன்படுத்தும் போது ஏற்படும் நேர பிழைகளை சமாளிக்க, ஆராய்ச்சியாளர்கள் உயர் மட்ட ஒத்திசைவு கட்டமைப்பை அறிமுகப்படுத்தியுள்ளனர், அதாவது. மானிட்டர் வகை. ஒரு மானிட்டர் வகை ஒரு சுருக்க தரவு வகை இது செயல்முறை ஒத்திசைவுக்குப் பயன்படுத்தப்படுகிறது.

ஒரு சுருக்க தரவு வகை மானிட்டர் வகையாக இருப்பது பகிரப்பட்ட தரவு மாறிகள் அவை எல்லா செயல்முறைகளாலும் பகிரப்பட வேண்டும் மற்றும் சில புரோகிராமர் வரையறுக்கப்பட்டவை நடவடிக்கைகளை இது மானிட்டருக்குள் பரஸ்பர விலக்கலில் செயல்முறைகளை இயக்க அனுமதிக்கிறது. ஒரு செயல்முறை முடியும் நேரடியாக அணுக முடியாது மானிட்டரில் பகிரப்பட்ட தரவு மாறி; செயல்முறை அதை அணுக வேண்டும் நடைமுறைகள் மூலம் ஒரு நேரத்தில் ஒரு மானிட்டரில் பகிரப்பட்ட மாறிகளை அணுக ஒரே ஒரு செயல்முறையை அனுமதிக்கும் மானிட்டரில் வரையறுக்கப்பட்டுள்ளது.

மானிட்டரின் தொடரியல் பின்வருமாறு:

மானிட்டர் மானிட்டர்_பெயர் shared // பகிரப்பட்ட மாறி அறிவிப்பு செயல்முறை பி 1 (...)}} செயல்முறை பி 2 (..) {} செயல்முறை பிஎன் (..) {} துவக்க குறியீடு (..) {}}

மானிட்டர் என்பது ஒரு கட்டமைப்பாகும், இது மானிட்டருக்குள் ஒரே நேரத்தில் ஒரு செயல்முறை மட்டுமே செயலில் உள்ளது. பிற செயல்முறை மானிட்டரில் பகிரப்பட்ட மாறியை அணுக முயற்சித்தால், அது தடுக்கப்பட்டு, வரிசையில் வரிசையாக நிற்கிறது, முன்பு அணுகல் செயல்முறை வெளியிடும் போது பகிரப்பட்ட தரவை அணுகும்.

நிபந்தனை மாறிகள் கூடுதல் ஒத்திசைவு பொறிமுறைக்கு அறிமுகப்படுத்தப்பட்டது. நிபந்தனை மாறி ஒரு செயல்முறை மானிட்டருக்குள் காத்திருக்க அனுமதிக்கிறது மற்றும் பிற செயல்முறை வளங்களை வெளியிடும் போது காத்திருப்பு செயல்முறை உடனடியாக மீண்டும் தொடங்க அனுமதிக்கிறது.

தி நிபந்தனை மாறி இரண்டு செயல்பாடுகளை மட்டுமே செயல்படுத்த முடியும் காத்திரு() மற்றும் சிக்னல்(). ஒரு செயல்முறை என்றால் எங்கே பி ஒரு காத்திருப்பு () செயல்பாடு மற்ற செயல்முறை வரை மானிட்டரில் இடைநிறுத்தப்படும் கே அழைப்பு சமிக்ஞை () செயல்பாடு அதாவது ஒரு செயல்முறையால் செயல்படுத்தப்படும் சமிக்ஞை () செயல்பாடு இடைநிறுத்தப்பட்ட செயல்முறையை மீண்டும் தொடங்குகிறது.

  1. செமாஃபோருக்கும் மானிட்டருக்கும் இடையிலான அடிப்படை வேறுபாடு என்னவென்றால் சேமாஃபோரும் ஒரு முழு எண் மாறி எஸ் இது கணினியில் கிடைக்கும் வளங்களின் எண்ணிக்கையைக் குறிக்கிறது, அதேசமயம் மானிட்டர் என்பது சுருக்க தரவு வகை இது ஒரு நேரத்தில் ஒரு பிரிவை முக்கியமான பிரிவில் இயக்க அனுமதிக்கிறது.
  2. செமாஃபோரின் மதிப்பை மாற்றியமைக்கலாம் காத்திரு() மற்றும் சமிக்ஞை () செயல்பாடு மட்டுமே. மறுபுறம், ஒரு மானிட்டரில் பகிரப்பட்ட மாறிகள் மற்றும் செயல்முறைகள் மூலம் பகிரப்பட்ட மாறிகள் மட்டுமே அணுக முடியும்.
  3. செமாஃபோரில் ஒரு செயல்முறை பகிரப்பட்ட வளங்களை அணுக விரும்பினால் செயல்முறை செய்கிறது காத்திரு() வளங்களை செயல்படுத்துதல் மற்றும் தடுப்பது மற்றும் அது செய்யும் வளங்களை வெளியிடும் போது சிக்னல்() செயல்பாடு. ஒரு செயல்முறை பகிரப்பட்ட வளங்களை அணுக வேண்டியிருக்கும் போது, ​​மானிட்டர்களில், அதை மானிட்டரில் உள்ள நடைமுறைகள் மூலம் அணுக வேண்டும்.
  4. மானிட்டர் வகை உள்ளது நிபந்தனை மாறிகள் எந்த செமாஃபோர் இல்லை.

முடிவுரை:

செமாஃபோரை விட மானிட்டர்கள் செயல்படுத்த எளிதானது, மேலும் செமாஃபோர்களுடன் ஒப்பிடுகையில் மானிட்டரில் தவறு ஏற்பட வாய்ப்பில்லை.