شما به این ویدیو دسترسی ندارید

در این ویدیو با کلاس Rlock در threading پایتون آشنا خواهید شد. در جلسات قبلی دیدید که با استفاده از lock میتوانستیم کاری کنیم که threadها به کار همدیگر احترام گذاشته و تا زمان تمام شدن کار یک thread بروی shared resource صبر کنند. و دیدید که اگر با استفاده از یک thread چند بار acquire کنیم کد ما block شده و برنامه از کار میفتد و برای حل این مشکل از lock به عنوان یک context manager استفاده میکردیم. اما در زمانهایی که برنامه ما نیاز دارد که یک متد را چند بار صدا بزند یا برنامه به شکل بازگشتی باشد استفاده از lock به عنوان context manager فایده نخواهد داشت و برنامه block خواهد شد. در این حالت میتوانید از Rlock به جای lock استفاده کنید. با استفاده از Rlock میتوانید چندین بار acquire کرده بدون اینکه برنامه block شود.



0

intro

14:41

رایگان

1

creating threads

10:14

رایگان

3

daemon

6:52

6

Lock

14:52

7

RLock

4:16

8

Semaphore

9:55

9

Timer

1:40

10

Event

10:15

11

done

1:12

رایگان

دوره های پیشنهادی

دوره آموزش ریاضیات یادگیری ماشین
دوره آموزش ریاضیات یادگیری ماشین
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش GraphQL در پایتون
دوره آموزش GraphQL در پایتون
تکمیل ضبط
امیرحسین بیگدلو
دوره آموزش سلری(celery)
دوره آموزش سلری(celery)
تکمیل ضبط
امیرحسین بیگدلو



ارسال نظر


samin

3 سال قبل پاسخ به نظر

برای استفاده از Rlock فقط نیاز که ایمپرت بشه بقیه موارد به همون شکل قبل هستن؟

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

سلام
بله، به همون شکل هست

عارف

3 سال قبل پاسخ به نظر

سلام ممنون برای آموزش های عالیتون

سوال اول اینکه چرا از lock استفاده کنیم وقتی rlock بهتر و مطمعن تر هست؟

سوال دوم اینکه چرا نمیشه مثلا در مثال همین پروژه برای add از rlock و برای subtract از lock استفاده کرد؟ جواب ها درست نخواهد بود.

ارسال نظر



امیرحسین بیگدلو

3 سال قبل

سلام
چیزی به اسم بهتر وجود نداره. هر چیزی در جایگاه خودش به درد میخوره. اینکه بگیم حالا که rlock هست، کلا lock رو حذف کنیم درست نیست.
خیلی از این مواردی که در ظاهر فکر میکنید به درد نمیخورن، در واقع کلاس‌های پایه هستند و خیلی از امکانات دیگه به اونها وابسته هستن.

مونگارد