PDA

View Full Version : Thread sychronized



سه شنبه 01 اردیبهشت 1383, 02:43 صبح
من وقتی هم زمانی ترد ها را خواندم نتیجه گرفتم که برای جلو گیری از انجام این عمل باید یکی کامل انجام گیرد و بعد دیگری انجام شود.درسته؟
حال یه سوال: پس دیگه فایده اش چیه پس نمی توانند ذره ذره اجرا شوند
اگر خیلی از موضوع پرتم یه توضیحی در مورد کاربرد های ترد بدهید یا یک مثال خوب
با تشکر

ناصرقلی
چهارشنبه 02 اردیبهشت 1383, 06:51 صبح
سلام آق کیو!
ببین دوست عزیز مشکل همزمانی تنها وقتی در مورد ترد ها ایجاد می شود که دو یا چند ترد عملی انجام دهند که موجب ایجاد تغییر در یکی از property های یک شی خاص شوند به مفهوم دیگر اگر متدی که مورد استفاده چند ترد هست تنها از متغیر های درون متد استفاده کند هیچ مشکلی ایجاد نمی شود و یا اگر تنها یک ترد بتواند مقدار یک صفت را تغییر دهد و بقیه تنها بتوانند یا بخواهند یک مقدار را بخوانند.
خوب اگر حالتی را هم فرض کنیم که چند ترد بخواهند یک صفت را دستکاری کنند تنها ایجاد بلاک synch روی همان صفت کفایت می کند و بقیه ترد ها می توانند با بقیه متد ها کار کنند. البته اگر کل متد به عنوان synch نشان گذاری شود آنوقت کل شی در موقع دستیابی قفل می شود که شاید در بسیاری موارد لازم نباشد.
اگر لازم بود بفرمایید تا در حیطه معلوماتم بیشتر توضیح بدهم !
:)