"வணக்கம், அமிகோ!"
"ஆம், நான் இங்கே இருக்கிறேன், நான் இங்கே இருக்கிறேன்."
"இன்று, நடைமுறையில் ஒத்திசைக்கப்பட்டதைப் பயன்படுத்துவது பற்றி நான் உங்களுக்குச் சொல்கிறேன் ."
"ஒரு நிரல் பல பொருள்கள் மற்றும் நூல்களைக் கொண்டிருக்கும் போது, பல நூல்கள் ஒரே பொருளுடன் ஒரே நேரத்தில் வேலை செய்வது அடிக்கடி நிகழ்கிறது. அவ்வாறு செய்யும்போது, இழைகள் ஒன்றோடொன்று குறுக்கிடுகின்றன."
"ஆம், இது எனக்கு முன்பே தெரியும்."
"எனவே, உங்களிடம் ஒரு பொருளைப் பல நூல்கள் அணுகுகின்றன என்று வைத்துக்கொள்வோம். சிக்கல்களைத் தவிர்க்க நீங்கள் இரண்டு விஷயங்களைச் செய்யலாம்."
"முதலாவதாக, பொருள் அணுகப்படும் ஒவ்வொரு இடத்தையும் மடிக்க ஒத்திசைக்கப்பட்ட தொகுதிகளைப் பயன்படுத்த வேண்டும். ஆனால் சில புரோகிராமர்கள் ஒத்திசைக்கப்பட்ட தொகுதி இல்லாமல் நேரடியாக பொருளை அணுகும் குறியீட்டை எழுதினால் இந்த அணுகுமுறை செயல்படாது."
"எனவே, இரண்டாவது அணுகுமுறை பெரும்பாலான நேரங்களில் பயன்படுத்தப்படுகிறது-பொருளை நூல்-பாதுகாப்பானதாக மாற்றுகிறது." "வேறு வார்த்தைகளில் கூறுவதானால், ஒத்திசைக்கப்பட்ட பொறிமுறையானது பொருளிலேயே கட்டமைக்கப்பட்டுள்ளது: இது அதன் முறைகள் ஒத்திசைக்கப்பட்டதாக அறிவிக்கிறது மற்றும்/அல்லது அதன் முறைகளுக்குள் குறியீட்டை ஒத்திசைக்கப்பட்ட தொகுதிகளில் மூடுகிறது."
"எனவே நான் பல த்ரெட்களில் இருந்து பயன்படுத்தக்கூடிய எந்தவொரு பொருளையும், இது நிரலில் உள்ள அனைத்து பொருட்களும் ஆகும், நான் த்ரெட்-பாதுகாப்பானதாக மாற்ற வேண்டுமா?"
"பொதுவாக, ஆம். உண்மையில், ஒரு நிரலில் உள்ள அனைத்து பொருட்களும் வெவ்வேறு நூல்களால் பயன்படுத்தப்படுவதில்லை, ஆனால் பொதுவாக நிறைய உள்ளன. எனவே, நீங்கள் ஒரு நூலுக்கான குறியீட்டை எழுதத் தொடங்கி, அதிலிருந்து பல்வேறு பொருட்களை அணுகும்போது, ஒவ்வொரு முறை அழைப்பு "இந்த அழைப்பு பாதுகாப்பானதா?" என்று உங்களை நீங்களே கேட்டுக்கொள்ள வேண்டும்.
"பாதுகாப்பானதா?"
"த்ரெட்-பாதுகாப்பானது, அதாவது இது பல நூல்களிலிருந்து பாதுகாப்பாக அழைக்கப்படலாம்."
"இங்கே சில எடுத்துக்காட்டுகள் உள்ளன. வெவ்வேறு இழைகளில் இருந்து அணுகப்பட்ட ஒரு சரம் பொருள் உங்களிடம் உள்ளது என்று வைத்துக்கொள்வோம். நீங்கள் ஏற்கனவே நினைவில் வைத்துள்ளபடி, மற்ற அனைத்து பழமையான வகைகளைப் போலவே, சரமும் மாறாதது. அதாவது ஒரு பொருள் உருவாக்கப்பட்ட பிறகு மாறாது. . இது போன்ற ஒரு பொருளை "உடைக்க" இயலாது. அனைத்து மாறாத பொருள்களும் நூல்-பாதுகாப்பானவை."
"சரி, அது விஷயங்களை எளிதாக்குகிறது."
"இப்போது, உங்களுக்கு மாறக்கூடிய சரம் தேவை என்று வைத்துக்கொள்வோம்."
"ஆமாம், எனக்கு நினைவிருக்கிறது. இரண்டு வகையான சரங்கள் உள்ளன: StringBuffer மற்றும் StringBuilder. StringBuffer என்பது StringBuilder போன்றது, ஆனால் அதன் அனைத்து முறைகளும் ஒத்திசைக்கப்பட்டுள்ளன. இது நூல்-பாதுகாப்பானதா?"
"ஆம். பல நூல்களில் இருந்து ஒரு StringBuilder பொருளை நீங்கள் அணுக வேண்டும் என்றால், அதை StringBuffer மூலம் மாற்ற வேண்டும். இல்லையெனில், விரைவில் அல்லது பின்னர் த்ரெட்கள் அதை ஒரே நேரத்தில் மாற்றி "உடைத்துவிடும்."
"வெவ்வேறு திரிகளில் இருந்து அணுகப்படும் பொருள் எனது சொந்த வகுப்பின் பொருளாக இருந்தால் என்ன செய்வது? இந்த விஷயத்திலும் அதன் முறைகளுடன் ஒத்திசைக்கப்பட்டதை நான் சேர்க்க வேண்டுமா?"
"ஆம். இந்த விதியைப் பின்பற்றுவது சிறந்தது: வெவ்வேறு நூல்களிலிருந்து அணுகப்படும் அனைத்துப் பொருட்களும் நூல்-பாதுகாப்பாக இருக்க வேண்டும்."
"நான் பார்க்கிறேன். எல்லாம் இவ்வளவு சீரியஸாக இருக்கும் என்று நான் நினைக்கவில்லை. நன்றி, எல்லி."
"நீங்கள் வரவேற்கப்படுகிறீர்கள். டியாகோ தனது எளிதான சில பணிகளை உங்களுக்கு வழங்கும்போது இந்த உதவிக்குறிப்புகள் உங்களுக்கு உதவும் என்று நம்புகிறேன். ☺"
GO TO FULL VERSION