டெட்லாக்கைத் தவிர்ப்பதற்கான உத்திகள் - 1

"வணக்கம், அமிகோ!"

"முட்டுக்கட்டைகளைத் தவிர்ப்பதற்கான இரண்டு உத்திகளைப் பற்றி நான் உங்களுக்குச் சொல்ல விரும்புகிறேன்."

"சிறந்த உத்தி என்பது சிந்தனைமிக்க கட்டிடக்கலை மற்றும் விதிகளின் தொகுப்பாகும் வேறு சில பூட்டுகள் ஏற்கனவே கையகப்படுத்தப்பட்ட நிலையில் கையகப்படுத்தப்பட்டது."

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

"உதாரணமாக, மாவீரர்களுடன் முந்தைய எடுத்துக்காட்டில், ஒவ்வொரு குதிரைக்கும் ஒரு தனிப்பட்ட எண்ணை (ஐடி) சேர்க்கலாம் மற்றும் பெரிய ஐடியிலிருந்து சிறிய ஐடிக்கு பூட்டுகள் பெறப்பட வேண்டும்."

உதாரணமாக
class KnightUtil
{
 public static void kill(Knight knight1, Knight knight2)
 {
  Knight knightMax = knight1.id > knight2.id ? knight1: knight2;
  Knight knightMin = knight1.id > knight2.id ? knight2: knight1;

  synchronized(knightMax)
  {
   synchronized(knightMin)
   {
    knight2.live = 0;
    knight1.experience +=100;
   }
  }
 }
}

"அது ஒரு அழகான தீர்வு."

"இது மிகவும் எளிமையான தீர்வு, ஆனால் நான் அதை விரும்புகிறேன். சாத்தியமான முட்டுக்கட்டை பிரச்சனைகளை எவ்வாறு தீர்ப்பது என்று நீங்கள் சிந்திக்கும்போது இது உங்களுக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன்."

"நன்றி, எல்லி."