অপেক্ষা করুন () - থ্রেড এই মনিটরের মালিকানা ছেড়ে দেয় এবং অপেক্ষা করে যতক্ষণ না অন্য থ্রেড এই অবজেক্টের মনিটরে অপেক্ষা করা থ্রেডগুলিকে নোটিফাই() মেথড বা notifyAll() পদ্ধতিতে কলের মাধ্যমে জেগে উঠার জন্য অবহিত করে। তারপর থ্রেডটি মনিটরের মালিকানা পুনরায় প্রাপ্ত না হওয়া পর্যন্ত এবং এক্সিকিউশন পুনরায় শুরু করা পর্যন্ত অপেক্ষা করে৷
ঘুম () - এই পদ্ধতিটি নির্দিষ্ট সংখ্যক মিলিসেকেন্ডের জন্য বর্তমানে নির্বাহ করা থ্রেডকে ঘুমাতে (সাময়িকভাবে মৃত্যুদন্ড বন্ধ করে) দেয়। থ্রেড কোনো মনিটরের মালিকানা হারায় না। এটি একটি নির্দিষ্ট সময়ের জন্য বর্তমান থ্রেডটিকে "চালানো যায় না" অবস্থায় পাঠায়।
অবজেক্ট থেকে কল notify(), notifyAll() পর্যন্তSr. না। | কী | অপেক্ষা করুন | ঘুম |
---|---|---|---|
1 | ক্লাস | Wait() পদ্ধতি অবজেক্ট ক্লাসের অন্তর্গত | Sleep() পদ্ধতি থ্রেড ক্লাসের অন্তর্গত |
2 | লক রিলিজ | অপেক্ষা করুন() একটি বস্তুর উপর লক প্রকাশ করে | এটি কোনো বস্তুতে লক প্রকাশ করে না |
3 | কলিং প্রসঙ্গ | ওয়েট() অবজেক্টেই কল করা যেতে পারে | Sleep() কে থ্রেডে কল করা যেতে পারে |
4. | জেগে ওঠার অবস্থা | | অন্তত সময়ের মেয়াদ শেষ না হওয়া পর্যন্ত বা কল ইন্টারাপ্ট না হওয়া পর্যন্ত |
5 | অসাধারণ জাগরণ | প্রোগ্রাম জাল ওয়েকআপ পেতে পারে | এটি জাল জাগরণ পাবে না। |
সিঙ্ক্রোনাইজড ম্যাপের উদাহরণ
synchronized(lockedObject){ while(condition == true){ lockedObject.wait() //releases lockedObject lock } Thread.sleep(100); //puts current thread on Sleep }