Wednesday, December 14, 2011

சி ஷார்ப்பும் மல்டிதிரட்டிங்கும் -----பாடம்-1


சி ஷார்ப்பும் மல்டிதிரட்டிங்கும் -----பாடம்-1



மல்டிதிரட்டிங் என்றால் என்ன?
மல்டிதிரட்டிங் நிரல் ஆனது ஒரே நேரத்தில் இயங்கக்கூடிய ஒன்றுக்கு மேற்பட்ட பகுதிகளைக் கொண்டிருக்கும். ஒவ்வொரு பகுதியும் ஒரு திரட் ஆகும்.ஒவ்வொரு திரட்டும் வெவ்வேறு பாதைகளில் இயங்கக்கூடியது. மல்டிதிரட்டிங் என்பது மல்டி பிராசஸிங்கில் இருந்து வேறுபடக்கூடியது.
மல்டிதிரட்டிங் அவசியம் என்ன?
கம்ப்யூட்டரின் சிபியு ஆனது ஒரு நேரத்தில் ஒரு வேலையைச் செய்யும். சிபியு ஆனது input/output சாதனங்களுடன் தகவல் பரிமாற்றம் செய்யும் போது அவற்றிற்காக காத்திருக்க வேண்டியுள்ளது..ஏனெனில் input/output  சாதனங்கள் சிபியுவை விட மெதுவனதாகும்.எனவே ஒரு நிரல் ஆனது அதன் பெரும்பாலான நேரத்தை தகவல் பரிமாற்றத்திற்காக காத்திருப்பதில் செவழிக்கின்றது.எனவே மல்டிதிரட்டிங் ஆனது ,நிரலின் ஒரு பகுதி தகவல் பரிமாற்றத்திற்காக காத்திருக்கையில் மற்றொரு பகுதியை இயங்குவதற்கு அனுமதிக்கின்றது.
மல்டி பிராசஸிங் மற்றும் மல்டிதிரட்டிங்  வேறுபாடு:
மல்டி டாஸ்கிங் ஆனது மல்டிதிரட்டிங் மற்றும் மல்டி பிராசஸிங் என இரு  கருத்துக்களை கொண்டது. ஒரு பிராசஸ் என்பது ஒரு இயங்கும் நிரல் ஆகும். அதாவது மல்டி பிராசஸிங் என்பது சிபியுவால் ஒன்றுக்கு மேற்பட்ட நிரல்களை ஒரே நேரத்தில் இயக்க பயன்படுகின்றது. உதாரணமாக  நாம் ஒரு வேர்ட் டாக்குமெண்ட்டை பிரிண்ட் செய்துகொண்டு அதே நேரத்தி எக்சலில் Data entry செய்ய முடியும்.
மல்டி பிராசஸிங்கில் இருப்பதிலேயே சிறிய பகுதியானது ஒரு நிரல் ஆகும். மல்டிதிரட்டிங்கில் இருப்பதிலேயே சிறிய பகுதியானது ஒரு திரட் ஆகும். அதாவது ஒரு நிரலின் ஒரு பகுதியாகும்.ஒவ்வொரு பகுதியும் ஒரு திரட் எனப்படுகின்றது. மல்டிதிரட்டிங்கில் ஒரே நிரலின் வெவ்வேறு பகுதிகள் ஒரே நேரத்தில் இயங்கும். அதாவது word ல் ஒரு பக்கம் பிரிண்ட் செய்து கொண்டு  
மற்றொரு பக்கம் அதே வேர்டில் formatting செய்யலாம்.
அதாவது மல்டி மல்டி பிராசஸிங் என்பது ஒரே நேரத்தில் வெவ்வேறு நிரல்கள் இயங்கக்கூடியது. மல்டிதிரட்டிங் என்பது ஒரு நேரத்தில் ஓரே நிரலின் வெவ்வேறு பகுதிகள் இயங்கக் கூடியது.இரண்டின் நோனக்கமும் சிபியுவின் வாளா இருக்கும் நேரத்தை குறைப்பதாகும்.
மல்டிதிரட்டிங் க்ளாஸ்கள்:
சி#ல் மல்டிதிரட்டிங்கிற்காக .net frameworkல் க்ளாஸ்கள் இருக்கின்றது.இவையாவன system நேம்பேஸில் உள்ள thread என்ற சப் நேம் பேசில் உள்ளன.Thread அவற்றில் முதன்மை கிளாஸாக இருக்கின்றது.
சி ஷார்ப் 4 உடன் மல்டிதிரட்டிங்:
சி ஷார்ப் 4ல் மல்டிதிரட்டிங்கிற்கென கூடுதல் பகுதிகள் இணைக்கப் பட்டுள்ளன. அவையாவன Task Parallel library(TPL) மற்றும் Parallel LINQ(PLINQ). இரண்டுமே இணையாக இயங்கும் நிரல்களை ஆதரிக்கின்றது..மேலும் அவை Multi processor(multi core) கணினிகளை ஆதரிக்கின்றது.TPL ஆனது  மல்டிதிரட்டிங் பயன்பாடுகளைஉருவாக்கவும் அவற்றை மேலாண்மை செய்யவும் பயன்படுகின்றது.
திரட்டின் நிலைகள் ;
திரட் ஆனது வெவ்வேறு நியோலைகளை கொண்டுள்ளது.அதாவது இயங்கக்கூடிய(running)மற்றும் இயங்குவதற்கு தயாராக உள்ள(ready to run)நிலை..அதே போல் suspended நிலையிலும் பிறகு resumed நிலையிலும் இருக்கலாம். ஒரு திரட் ஆனது resource க்காக காத்திருக்கும் நிலையிலும் தடை(blocked) செய்யப்படலாம்.
சி ஷார்ப்பில் இரண்டு விதமான திரட்களை உருவாக்கலாம். அவையாவன foreground மற்றும் background திரட்கள் ஒரு திரட் ஆனது உருவாக்கப்படுகையில்
Foreground ஆக உருவாக்கப் படுகின்றது.அவற்றை நாம் background ஆக மாற்றலாம்,. எல்லா foreground திரல்களும் முடிகையில் எல்ல background திரட்களும் முடிவுக்கு வரும்.
நிரலில் குறிப்பிட்டுள்ள செயல் பாட்டை ஒன்றுக்கு மேற்பட்ட திரட்கள் நிறைவேற்ற முயல்கையில் அச்செயல்பாடு lock  செய்யப்பட வேண்டும்.இவ்வாறு திரட்டில் செயல்பாட்டினை முறைப்படுத்துவது ஒத்தியக்கம்(Threading synchronization) எனப்படுகின்றது.
-தொடரும்.

ads Udanz

No comments:

Post a Comment