PDA

View Full Version : mutex چیست و چگونه از آن برای همزمانی thread استفاده می شود؟



sfm_designer
سه شنبه 13 اردیبهشت 1384, 03:04 صبح
سلام
من یک برنامه باید بنویسم که با همگامسازی دو ترد کاری را انجام بده
کسی می تونه بگه چطوری این کارو با mutex انجام بدم و اصلا این mutex چیه؟
:موفق:

shayan_re
چهارشنبه 14 اردیبهشت 1384, 13:17 عصر
اگه شما در مورد Critical Section تو سیستم عامل مطالعه ندارید :
تنها یک سرنخ امکان اجرا را تنها در اون فاصله زمانی داره
از Mutex برای همزمانی سرنخ ها استفاده میشه
میتونید یه نام رشتهای به اونا بدید و handle به اون اضافه کنید
به این ترتیب از دستکاری ناخواسته محتویات نخ جلوگیری میکنه

sfm_designer
پنج شنبه 15 اردیبهشت 1384, 01:28 صبح
سلام
ممکنه بیشتر توضیح بدین ؟ در مورد کاربرد و نحوه استفاده از اون.
اگه یه مثال هم باشه که عالیه. :oops:
:موفق:

یاشار
پنج شنبه 15 اردیبهشت 1384, 02:45 صبح
وقتی که چند ترد بخواهند از یک منبع مشترک برای کارهاشون استفاده کنند، برای اینکه مطمئن باشیم که اون منبع مشترک وسط کار با یک ترد، بوسیله ترد دیگه تغییر داده نشه، باید از شیی Mutex استفاده کنیم. Mutex باعث می‌شه که تردها به نوبت از منبع مشترک استفاده کنند، و تا یک ترد کارش با اون منبع تموم نشده، تردهای دیگه در حالت انتظار باقی می‌مونن. معمولا از Mutex وقتی استفاده می‌شه که اون منبع مشترک، توی همون Process ی که ترد‌ها توش در حال اجرا هستند، نباشه. مثال (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemThreadingMutexClassTopic.asp)

علیرضا مداح
پنج شنبه 15 اردیبهشت 1384, 14:02 عصر
سلام .
به مقاله های استاد نصیری در این زمینه که در بخش مقالات مرتبط با Dot Net Framewrok (http://www.barnamenevis.org/forum/viewforum.php?f=57) قرار دارند ، رجوع نمایید .