آموزش Semaphore در threading پایتون

May 2020

فقط افرادی که عضویت ویژه دارند قادر به دیدن ویدیوها میباشند

در این ویدیو با semaphore در threading پایتون آشنا میشوید. semaphore وظیفه ای مشابه lock دارد اما برای زمان هایی استفاده میشود که نیاز داشته باشید در تعداد threadهایی که به shared resource متصل میشوند کنترل داشته باشید. در کلاس semaphore یک counter یا شمارشگر وجود دارد که تعداد threadهای متصل را کنترل میکند. هر بار که یک thread از متد acquire استفاده میکند یک عدد از این counter کم شده و هربار که از متد release استفاده میشود به این عدد اضافه میشود. زمانی که این عدد به صفر برسد هیچ thread دیگری پذیرفته نیست و باید منتظر بمانند. همچنین در این ویدیو با کلاس BoundedSemaphore هم آشنا میشوید. در کلاس semaphore اگر شما بیشتر از تعداد acquire از release استفاده کنید تعداد counter منفی شده و باعث میشود در مرحله بعد تعداد threadهای بیشتری کار کنند. برای حل این مشکل میتوانید از کلاس BoundedSemaphor استفاده کنید که در صورت منفی شدن counter پیغام خطای ValueError خواهد داد.


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

رایگان

ارسال نظر

اگر قراره سوالی بپرسید که داخلش کد هست، بهتره از کدتون عکس بگیرید و به ایمیلی که پایین نوشتم بفرستید