简体中文
Telegram

讨论串 لاک کردن ترد دقیقا چه کاربردی داره؟

17 条消息 · –
已
لاک کردن ترد دقیقا چه کاربردی داره؟
  1. S
    واسه جلو گیری از race condition : )
      1. S
        فرض کن یه تابع داری.. که میخاد یه چیزی رو تغییر بده .. یا جمع و کم کنه .. و از قضا میخای مالتی ترد هم رانش کنی .. این قسمت باید لاک کنی .. تا یه ترد دیگه نیاد و تغییرش نده (فرضا یه متغییر ۲بار + 1 نشه ) : )) و وقتی ازش گذاشی ریلیزش کنی.. تا ازاد شه .. . فک کنم بدترین و ساده ترین مثال عمرم بود : ))) از ریس کاندیشن ..
        1. M
          اها یعنی وقتی لاک میکنیم اجازه نمیده اون تابع تو یه ترد دیگه اجرا شه؟
          1. S
            بله .تقریبا .. با ارفاق : )) ای بابا .. . ولی خب یه مشکلی هست .. پرفورمنس رو همین به فنا میده ..
          2. I
            دو ترد، مموری رو بین هم دیگه share می کنن.به اون محیطی که همزمان دارن روش کار می کنن به اصطلاح می گن critical section. قاعدتا اگر نخوای race condition صورت بگیره مجبوری لاک کنی.در واقع اون لاک باعث می شه که صرفا ترد شماره ۲ مثلا، نیاد یک چیزی رو عوض کنه و خراب کاری کنه .صبر کنه کار ترد ۱ تموم شه بعد.(طبق مثال مهدی. ).و البته ، بحث سر اجرای یک تابع بین ترد ها به صورت مرتب نیست. بحث سر استفاده از اون shared memory بین ترد هاست که لاک بشه یا نشه و این که این لاک شدن ها ساختار متفاوتی دارن.مثلا Mutex و Semaphore که روششون متفاوته
        2. 已
          حالا چطور باید این کار رو انجام بدم هیچ اگزمپل خوبی واسش پیدا نکردم بس که مورد کمیابیه
          1. S
            اینهمه مطلب تو اینهمه وبلاگ ..تو سراسر اینترنت ..
          2. M
            اتفاقا مثال زیاده درکش برا من سخت بود چی کار میکنه که الان سالوادور توضیح داد سرچ کن lock thread python میاره
  2. S
    اگر سه کیسه غذا داشته باشی با ۱۵ تا سگ و نخوایی همشون یهویی هجوم بیارن گندبزنن بلکه تا اولی تموم نشده بقیه نتونن به غذا دست بزنن باید از لاک ترد استفاده کنی

来自搜索索引的公开信息流 ChatCrawler ——“公开 Telegram 的 Google”;随着该社群被抓取而更新。 时间为 UTC。

仅限公开内容,使用 Telegram 官方 API。 关于 · 常见问题 · 索引限制 · 移除页面 · 目录 · 搜索 · 计算方法