Français
Ouvrir dans Telegram

Fil de discussion لاک کردن ترد دقیقا چه کاربردی داره؟

17 messages · –
  1. S
    واسه جلو گیری از race condition : )
      1. S
        فرض کن یه تابع داری.. که میخاد یه چیزی رو تغییر بده .. یا جمع و کم کنه .. و از قضا میخای مالتی ترد هم رانش کنی .. این قسمت باید لاک کنی .. تا یه ترد دیگه نیاد و تغییرش نده (فرضا یه متغییر ۲بار + 1 نشه ) : )) و وقتی ازش گذاشی ریلیزش کنی.. تا ازاد شه .. . فک کنم بدترین و ساده ترین مثال عمرم بود : ))) از ریس کاندیشن ..
        1. M
          اها یعنی وقتی لاک میکنیم اجازه نمیده اون تابع تو یه ترد دیگه اجرا شه؟
          1. S
            بله .تقریبا .. با ارفاق : )) ای بابا .. . ولی خب یه مشکلی هست .. پرفورمنس رو همین به فنا میده ..
          2. I
            دو ترد، مموری رو بین هم دیگه share می کنن.به اون محیطی که همزمان دارن روش کار می کنن به اصطلاح می گن critical section. قاعدتا اگر نخوای race condition صورت بگیره مجبوری لاک کنی.در واقع اون لاک باعث می شه که صرفا ترد شماره ۲ مثلا، نیاد یک چیزی رو عوض کنه و خراب کاری کنه .صبر کنه کار ترد ۱ تموم شه بعد.(طبق مثال مهدی. ).و البته ، بحث سر اجرای یک تابع بین ترد ها به صورت مرتب نیست. بحث سر استفاده از اون shared memory بین ترد هاست که لاک بشه یا نشه و این که این لاک شدن ها ساختار متفاوتی دارن.مثلا Mutex و Semaphore که روششون متفاوته
        2. C
          حالا چطور باید این کار رو انجام بدم هیچ اگزمپل خوبی واسش پیدا نکردم بس که مورد کمیابیه
          1. S
            اینهمه مطلب تو اینهمه وبلاگ ..تو سراسر اینترنت ..
          2. M
            اتفاقا مثال زیاده درکش برا من سخت بود چی کار میکنه که الان سالوادور توضیح داد سرچ کن lock thread python میاره
  2. S
    اگر سه کیسه غذا داشته باشی با ۱۵ تا سگ و نخوایی همشون یهویی هجوم بیارن گندبزنن بلکه تا اولی تموم نشده بقیه نتونن به غذا دست بزنن باید از لاک ترد استفاده کنی
PPython + Linux ExpertsPython + Linux Experts@PythonLinuxExperts · groupe · Technologie
4 287membres21écrivent en 30 jours
Fil de la communauté Ouvrir dans Telegram

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.

Contenu public uniquement, API officielle de Telegram. À propos · FAQ · Limites de l'index · Retirer une page · Catalogue · Recherche · Comment nous comptons