فرض کن یه تابع داری.. که میخاد یه چیزی رو تغییر بده .. یا جمع و کم کنه ..
و از قضا میخای مالتی ترد هم رانش کنی ..
این قسمت باید لاک کنی .. تا یه ترد دیگه نیاد و تغییرش نده (فرضا یه متغییر ۲بار + 1 نشه ) : )) و وقتی ازش گذاشی ریلیزش کنی.. تا ازاد شه .. .
فک کنم بدترین و ساده ترین مثال عمرم بود : ))) از ریس کاندیشن ..
دو ترد، مموری رو بین هم دیگه share می کنن.به اون محیطی که همزمان دارن روش کار می کنن به اصطلاح می گن critical section.
قاعدتا اگر نخوای race condition صورت بگیره مجبوری لاک کنی.در واقع اون لاک باعث می شه که صرفا ترد شماره ۲ مثلا، نیاد یک چیزی رو عوض کنه و خراب کاری کنه .صبر کنه کار ترد ۱ تموم شه بعد.(طبق مثال مهدی. ).و البته ، بحث سر اجرای یک تابع بین ترد ها به صورت مرتب نیست. بحث سر استفاده از اون shared memory بین ترد هاست که لاک بشه یا نشه
و این که این لاک شدن ها ساختار متفاوتی دارن.مثلا Mutex و Semaphore که روششون متفاوته
اگر سه کیسه غذا داشته باشی با ۱۵ تا سگ و نخوایی همشون یهویی هجوم بیارن گندبزنن بلکه تا اولی تموم نشده بقیه نتونن به غذا دست بزنن باید از لاک ترد استفاده کنی
Un fil public ouvert issu de l'index de recherche
ChatCrawler — « le Google du Telegram public » ; actualisé à mesure que la communauté est explorée.
Les heures sont en UTC.