Java Thread Priorities
142 views
Feb 12, 2024
The "Java Thread Priorities" video provides an overview of thread priorities in Java, allowing viewers to understand how threads are scheduled for execution based on their priority levels. It explains the range of thread priorities and the default priority assigned to threads, as well as how to set and adjust thread priorities using the setPriority() method. Through clear explanations and practical examples, viewers learn how to manage thread priorities effectively to optimize the performance and responsiveness of multithreaded Java applications. This tutorial serves as a valuable resource for learners seeking to understand how to control thread execution order and optimize resource utilization in Java programming.
View Video Transcript
0:00
अजय को आज किस वीडियो में हम लोग बात करने वाले हैं थ्रेड प्रायोरिटीज के बारे में पिछले वीडियो मे�
0:06
आप लोगों को थ्रेड कंस्ट्रक्टर के बारे में बताया था और उसका यूज भी बताया था यहां पर मैं जल्दी से अपन�
0:12
लिस्ट खोलूंगा और इसमें वीडियो नंबर सेवेंडी फूर अभी हमारा जो है वह मैं बना रहा हूं यहां पर मैं यहां प�
0:17
प्रोजेक्ट को खोलकर राइट क्लिक करके एक न्यू फाइल बनाऊंगा और यहां पर मैं लिखूंगा इसका राम्स डेब्लू ए�
0:23
अंडरस्कोर्ड और सेवेंटी फूर और मैं आपको बात करने वाला हूं थ्रेड प्रायरिटीज के बारे में थ्रेड प्रायरिटी�
0:32
और यहाँ पर thread priorities में मैं यहाँ पर एक main method बनाऊंगा
0:36
thread priorities की बात करने से पहले यहाँ पर मैं आप लोगों को तोड़ा सा JVM के behavior के बारे में बताना चाहता हूँ कि
0:41
जावा में जब बहुत सारे threads होते हैं तो जावा में किस तरह से उनको run किया जाता है JVM द्वारा
0:47
जो java virtual machine होती है उसको एक ready queue मिलती ह�
0:51
और ये ready queue के अंदर आपको वो सारे threads मिलेंगे जो की ready to run ह�
0:58
तो अगर मैं बात करूँ उन सारे threads की जो की चलने के लिए तैयान ह�
1:02
तो उन में से यहाँ पर मैं t1, t2, t3, t4, t5 कुछ इस तरह से लिख देता हू�
1:07
और ये जो ready queue है ये JVM दोरा maintain की जाती ह�
1:11
यानि कि JVM के पास इन पाँचो threads को run करने की जिम्मदारी ह�
1:17
ठीक है ये पाँचो के पाँचो जो threads है इनको run करने की जिम्मदारी JVM के पास ह�
1:22
और उनको इन सब को CPU प्रदान कराना है ठीक है अब यह जो ready की हुआ है यह JVM दोरा maintain की जाती है और thread scheduler component specifically यह कैसा component होता है JVM में जो की इस चीज को maintain करता ह�
1:35
अब यहाँ पर कौन सा thread कब run होगा उसको कितनी priority दी जाएगी यह सब हम java के अंदर अपने end से specify कर सकते है�
1:44
तो मैं यहाँ पर आप लोगों को ले जाना चाहूँगा गूगल पर और हम यहाँ पर जावा थ्रेड प्रायोरिटीज के बारे में बात करेंग�
1:51
और मैं यहाँ पर पसंद करूँगा उराकल का लिंक जो की थ्रेड प्रायोरिटीज की बात करता हू�
1:58
तो यहाँ बाद जावा की थ्रेड प्रायोटी की बात इन लोगों ने करी हुई है अब देखो आप लोग जावा में थ्रेड को तीन तरह की प्रायोटी दे सकते है�
2:05
मिन प्रायोटी जो की by default 1 value के साथ आती ह�
2:09
normal priority जो की आपके पास by default 5 value के साथ आती है और max priority
2:15
10 के साथ आती है max priority का मतलब उस thread को सबसे ज़ादा priority
2:19
दी जाएगी अब मान लो आप लोगों के घर में मैं आप लोगों से मिलन�
2:23
आ जाता हूँ और मैं कहता हूँ कि यार बाई कैसे हो या फिर दीदी कैसी ह�
2:26
priority priority priority
2:41
चुकी वो एक celebrity है, तो इसी ज़राई जो priority वाली चीज है, यह यहाँ पर काम करती है
2:47
java में भी कुछ इस तरह की, आप prefer करते हो किसी और thread को एक thread के मुकाबले
2:54
आप चाहते हो वो चीज जादा run हो, run दोनों हो, लेकिन आप चाहते हो कि एक चीज को आप जादा focus दो
3:00
ज्यादा प्रायरिटी दो ठीक है तो यह जो चीज होती है इसे प्रायरिटी कहते हैं एक और एग्जांपल अगर मैं आ�
3:06
लोगों को दूं में भी आप लोग जो है अपने काम में व्यस्तों और आपकी दरवाजे पर कुछ खट आता है और कहता ह�
3:11
यार यह 10 लाख रुपए है यह बट रहे हैं आप �本当 को लेकर जाओ तो आप अपना काम छोड़कर वह 10 लाख रुपए क�
3:17
लेना प्रायरटी समझोगे तो प्रायरटी का तो मतलब सबको पता है यह मैं बस यहां पर चोड़े से फनी एग्जाम्पल्�
3:22
जाता अब यहां बार हम जल्दी से कोड में देखते हैं कि इस किस तरह काम करती है कौन से थ्रेड को आप कितन�
3:27
प्रायोडी देना चाहते हैं और यह तीन वाल्यूज होती हैं कॉन्सटेंट जावा थ्रेड क्लास के अंदर जो कि ह�
3:32
लूस कर सकते हैं डाइट को प्रायोटीज देने के लिए ठीक है वह रेड को प्रायोटीज देने के लिए हम लोग इ�
3:38
वैल्यूज का इस्तेमाल करेंगे और दिन रेट्स बनाएं कोड लिखेंगे तो मैं आपको करूंगा क्या है जो मैंने पिछल�
3:43
वीडियो में थ्रेड लास बनाई थी उसको दोबारा तो मैं बिल्कुल भी लिखना नहीं चाहता क्योंकि यार थंड बहुत हो रह�
3:47
है मेरे हाथ जम चुके और मैं आप इसलिए इसको अपने आलस को मध्यनजर रखते हुए इसका नाम टीएच आर वन करके न�
3:55
बनाऊंगा और मैं टीएच आर वन करके इसके कंस्ट्रक्टर को बनाऊंगा और मैंने यह त्रेड यहां पर बना दिया है अ�
4:01
यह जो मैंने दो थ्रेड्स बनाए दे मैं इन दोनों थ्रेड्स को यहां पर बनाऊंगा और टीवन टीटू टी थ्री ट�
4:07
टी फाइब मैं इस तरह से बनाऊंगा अब मैं इनको नाम अभी दे भी सकता हूं नहीं भी दे सकता हूं जैसे कि आप लोगो�
4:13
मालूं वह टी टू टी ट्री टी फॉर्ट टी फाइब और इन सबको मैं स्टार्ट भी कर सकता हूं ठीक है तो मैं जरा यहां प�
4:20
जो नाम है इनको मिटा रहा हूं और यहां पर इनको इस तरह से करके मैं सेव कर दूंगा और यहां पर मैंन�
4:27
न्यू माई टीएच आर लिखा हुआ है मैं इसको जरूर वन कर देता हूं वन और वन और वन वन और यहां पर मैं वन इ�
4:38
इस तरह से कर देता हूं यह नेम वाली चीज है वह मैं अभी लगा लेता हूं लिया मैं काम करूं इनको नाम जो है इनक�
4:44
कुछ देख देता हूं ठीक है वन यहां पर भी वन यहां पर भी मुझे बहुत बोलिंग है टाइप करता हुआ देखना मुझे प�
4:50
है कि क्या है डी टू फिर उसके बाहरी 34 यार मैं इस तरह से करना चाहिए इसको तो यार कभी-कभी ना यह स�
4:59
5 5 T1 T2 T3 T4 T5 T1 start similarly T2 start T3 start T4 start
5:31
यहां पर प्रिंट हो जाएगा ठीक है तो यहां पर अगर मैं इसको भी आप लोगों को रन करके दिखाऊंगे जैसे तरह से त�
5:40
आप लोग यहां पर देखो थैंक यू है रिप्री है डिफरेट यह अपने किसी ऑर्डर में जो है रन होकर मुझे दिखा रह�
5:46
आप तीफाइव के साथ जुल्म नहीं करना चाहूंगा उसको भी मैं आप रन कर देता हूं और टीफाइव को भी मैंने रन कर दिय�
5:53
उसका स्टार्ट मेथड देखा ठीक है आप देखो यह किस ऑर्टर में रन हो रहा है 3142 ठीक है मैं फिर से इसको रन करू�
5:59
तो यह देखो कि इस ऑर्टर में रन होगा यह 23541 में रन हो रहा है मान लो मैं चाहता हूं कि मेरा मोस्ट इंपोर्टेंट थ्रेड है ठीक ह�
6:07
मैं इसको यहाँ पर लिख दूंगा मोस्ट इंपोर्टेंट ठीक है मान लो फॉर सम रीजन यह मेरा एक ऐसा काम है जो कि मुझ�
6:15
बहुत हाई priority के साथ करना है for example अगर आप एक text editor में काम कर रहे है�
6:21
तो आपके cursor का blink करना और आपकी keyboard के input को receive करना सबसे important काम होता है ठीक ह�
6:25
और background में save करना जो है बहुत mediumish priority का होता ह�
6:31
और server को user का data देना for improvement of the software
6:36
यह चीज़ भी काफी low priority होती है क्योंकि आप चाहोगे user को आपके software से पहले experience मिल�
6:41
उसके बाद आप चाहोगे उसके data को catch ना अपने server पर भेजना वो सब काम आप बाद में करोग�
6:45
पहले आप चाहोगे कि आपका जो user है उसको अच्छा experience मिले अभी मैं इसको अगर run करूँगा त�
6:50
most important वाला जो है वो देखो दूसरे number पे run हो रहा है but ideally मैं चाहूँगा कि मैं इसकी priority को set करू�
6:56
और इसकी priority को set करके थोड़ा बढ़ा दूँ कुछ इतना तो बढ़ा दूँ कम से कम कि या�
7:00
मुझे problem ना हो इसको last में मैं ना देखूँ तो मैं क्या करूँगा इसकी priority को बढ़ा दूँगा, मैं यहाँ पर लिखूँगा t5.setPriority
7:10
और मैं set priority में क्या दूँगा, मैं यहाँ पर लिखूँगा thread
7:14
और मैं यहाँ पर लिखूँगा thread.maxPriority, यानि कि मैं कहूँगा इसकी max priority जो है वो set कर द�
7:21
तो अब इसी के साथ मैं एक कम और करूंगा इस चीज को ना वाइल ट्रू के अंदर डाल दूंगा वाइल ट्रू के अंदर पत�
7:26
मैं क्यों डाल रहा हूं वाइल ट्रू के अंदर में इस चीज को इसलिए डाल रहा हूं क्योंकि यार मैं चाहता हूं कि सार�
7:46
जरूर में तो जो भी हो लेकिन एक टाइम के बाद आपको जो मोस्ट इंपोर्टेंट थ्रेड है वह सबसे ज्यादा दिखाई देग�
7:51
अब देखो मोस्ट इंपोर्टेंट वाला आपको बहुत ज्यादा दिखाई दे रहा है अब देखो काम तो सारे हैं लेकिन इस सबस�
7:57
ज्यादा प्राइरिटी दे रहा है मोस्ट इंपोर्टेंट वाले को ठीक है तो देखो मोस्ट इंपोर्टेंट वाला आप लोगो�
8:02
सबसे ज्यादा दिखाई देगा यह सबसे ज्यादा सीपियो टाइम जो है यह दे रहा है मोस्ट इंपोर्टेंट वाले को अ�
8:07
टीफॉर्ड प्रायोरिटी होती है जावा के अंदर वह है नॉर्मल प्रायोरिटी तो मैं काम करूंगा जो टीवन वगैरह की प्रायोरिटी है इसको मैं मिन प्रायोरिटी सेट कर दूंगा तो मैं अगर इसको मिन प्रायोरिटी सेट कर दूंगे इस तरह से तो आप लोग दे�
8:37
प्रायोटी मैंने जो है सबसे ज्यादा कर दिया है तो यह था हमारा प्रायोटी का कोड जो कि मैं आप लोगो�
8:42
समझाना चाहता है इसको यार मैं स्टॉप कर देता हूं नहीं तो मेरा जो लैपटॉप पर उड़ जाएगा हवा में इसक�
8:47
खेलों के सब घूमने लगे हैं अब मैं आप लोगों को एक बात और बताना चाहता हूं कि जो प्रायोरिटीज होती है जाव�
8:53
प्रोग्रामिंग के अंदर उन प्रायोरिटीज पर ज्यादा आप लोग रिलाइन नहीं कर सकते जो प्रायोरिटीज होती है थ्रेड क�
9:00
वो जो है OS के द्वारा भी सेट की जाती हैं तो आपका operating system क्या चाहता है प्रोग्राम से ये भी बहुत जारा डिपेंड करता है आपका प्रोग्राम किस तरह से रन कर रहा है उस चीज़ पर यानि कि जब तक CPU available है वो low priority thread को भी available करा दिया जाता है अगर मुमकिन हो तो तो इस �
9:30
बताऊंगा आप लोग की वह आप लोगे सारे डाउट्स क्लियर कर देंगे अगर आप लोगों ने अभी तक यह प्लेयर लिस्�
9:35
आप इस निकलिए दोस्तों को एक्सेस जरूर कर लेना कि यहां पर मैंने स्टेप स्टेप सब कुछ बता रखा है कंप्ली�
9:40
आवा कोर्स आप लोगों यहां पर मिल जाएगा आप लोग चैनल पर जाएगा ले सेक्शन में जाकर एक्सेस कर सकते हो प्ले लिस्�
9:47
और I hope कि आप लोग को इन वीडियो पसंद आया Thank you so much guys for watching this video
9:52
and I will see you next time
#Computer Science
#Java (Programming Language)
#Programming