Thursday, March 15, 2018

ஜாவாவில் மல்டி திரட்டிங்க் –பகுதி-3.



திரட்டின் லைஃப் சைக்கிள்:
1.   New
2.   Runnable
3.   Not Runnable
4.   Terminated or Dead
New Thread state:
 திரட் ஒன்றிற்கு ஆப்ஜெக்ட் கிரியேட் செய்யும் பொழுது அது new thread    state-ற்க்கு செல்கின்றது.
கீழே வரும் வரிகள் திரட்டுக்கு எவ்வாறு ஆப்ஜெக்ட் உருவாக்குவது என்று இருக்கும்.
Thread newThread=new Thread(this, threadName)
இவ்வாறு உருவாக்கும் பொழுது அதற்கு எந்தவிதமான ரிசோர்ஸ் அல்லது மெமரியோ அலோகேட் செய்யப்படுவதில்லை. திரட்டை ஸ்டார்ட் செய்வதற்கு strat() மெதடை கால் செய்ய வேண்டும்.
newThread.start();
திரட் ஆனது new state-ல் இருக்கும் பொழுது start() மெதடிற்கு பதில் எந்த மெதடையும் அழைக்க முடியாது. இல்லையெனில் IllegalStateException என்கின்ற பிழை சுட்டப்படும்.
The Runnable thread state
Start() என்கின்ற மெதடை அழைக்கு பொழுது திரட் ஆனது ரன்னபிள் ஸ்டேட்டை அடைகின்றது. மெமரி மற்றும் ரிசோர்ஸ் ஒதுக்கீடு செய்யப்படும். மேலும் அது run() மெதடை அழைக்கின்றது.
ஒற்ரை பிராசஸர் ஆனது ஒரு சமயத்தில் ஒற்றை திரட்டை மட்டுமே இயக்கும். எனவே அது திரட் க்யூவை நிர்வகிக்கும். மேலும் அது இயங்கும் வரை காத்திருக்கும். விளைவாக ஒரு திரட் ஆனது ரன்னபிள் ஸ்டேட்டில் இருக்குமே தவிர ரன்னிங் ஸ்டேடில் இருக்காது.
The Not runnable thread state:
எப்போதெல்லாம் ஒரு திரட் ஆனது நாட் ரன்னபிள் ஸ்டேட்டில் இருக்கும் என்றால்
1.Sleeping:
Sleep() மெதடை அழைக்கும் பொழுது ஒரு திரட் ஆனது குறிப்பிட்ட மணித்துளிகளுக்கு ஸ்லீப்பிங்க் ஸ்டேட்டில் இருக்கும்.
2. waiting:
ஒரு கண்டிசன் ட்ரூ ஆகும் வரையில் wait() மெதடை அழைக்கும் பொழுது அது வெய்ட் செய்கின்றது.
3. மற்றொரு திரட் ஆனது கரண்ட் திரட்டை பிளாக் செய்யுல் பொழுது.

The Dead Thread State:
Run() மெதட் முடியும் பொழுது இது dead ஸ்டேட்டை அடைகின்றது.மேலும் நல்(null)  மதிப்பை திரட் ஆப்ஜெக்டிற்கு அசைன் செய்யும் பொழுதும் இது dead நிலையை அடைகின்றது. isAlive() என்கின்ற மெதட் ஆனது ஒரு திரட் ஸ்டர்ட் ஆகி விட்டதா என்பதை சோதிக்க பயன்படுகின்றது. ஒரு டெட் திரட்டை ரிஸ்டார்ட் செய்ய இயலாது.

----தொடரும்.
முத்து கார்த்திகேயன்,மதுரை.


ads Udanz

No comments:

Post a Comment