Deutsch
Telegram

Thread لاک کردن ترد دقیقا چه کاربردی داره؟

17 Nachrichten · –
  1. S
    واسه جلو گیری از race condition : )
      1. S
        فرض کن یه تابع داری.. که میخاد یه چیزی رو تغییر بده .. یا جمع و کم کنه .. و از قضا میخای مالتی ترد هم رانش کنی .. این قسمت باید لاک کنی .. تا یه ترد دیگه نیاد و تغییرش نده (فرضا یه متغییر ۲بار + 1 نشه ) : )) و وقتی ازش گذاشی ریلیزش کنی.. تا ازاد شه .. . فک کنم بدترین و ساده ترین مثال عمرم بود : ))) از ریس کاندیشن ..
        1. M
          اها یعنی وقتی لاک میکنیم اجازه نمیده اون تابع تو یه ترد دیگه اجرا شه؟
          1. S
            بله .تقریبا .. با ارفاق : )) ای بابا .. . ولی خب یه مشکلی هست .. پرفورمنس رو همین به فنا میده ..
          2. I
            دو ترد، مموری رو بین هم دیگه share می کنن.به اون محیطی که همزمان دارن روش کار می کنن به اصطلاح می گن critical section. قاعدتا اگر نخوای race condition صورت بگیره مجبوری لاک کنی.در واقع اون لاک باعث می شه که صرفا ترد شماره ۲ مثلا، نیاد یک چیزی رو عوض کنه و خراب کاری کنه .صبر کنه کار ترد ۱ تموم شه بعد.(طبق مثال مهدی. ).و البته ، بحث سر اجرای یک تابع بین ترد ها به صورت مرتب نیست. بحث سر استفاده از اون shared memory بین ترد هاست که لاک بشه یا نشه و این که این لاک شدن ها ساختار متفاوتی دارن.مثلا Mutex و Semaphore که روششون متفاوته
        2. G
          حالا چطور باید این کار رو انجام بدم هیچ اگزمپل خوبی واسش پیدا نکردم بس که مورد کمیابیه
          1. S
            اینهمه مطلب تو اینهمه وبلاگ ..تو سراسر اینترنت ..
          2. M
            اتفاقا مثال زیاده درکش برا من سخت بود چی کار میکنه که الان سالوادور توضیح داد سرچ کن lock thread python میاره
  2. S
    اگر سه کیسه غذا داشته باشی با ۱۵ تا سگ و نخوایی همشون یهویی هجوم بیارن گندبزنن بلکه تا اولی تموم نشده بقیه نتونن به غذا دست بزنن باید از لاک ترد استفاده کنی
PPython + Linux ExpertsPython + Linux Experts@PythonLinuxExperts · Gruppe · Technik
4 287Mitglieder21schreiben in 30 Tagen
Community-Feed In Telegram öffnen

Ein offener öffentlicher Feed aus dem Suchindex ChatCrawler — „Google für das öffentliche Telegram“; wird aktualisiert, während die Community gecrawlt wird. Zeiten in UTC.

Nur öffentliche Inhalte, offizielle Telegram-API. Über uns · FAQ · Grenzen des Index · Seite entfernen · Katalog · Suche · So zählen wir