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

May 2020

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

در این ویدیو با مفاهیم مهمی مثل Race condition, Thread safe, Dead lock آشنا میشوید. مشکل Race condition زمانی اتفاق میفتد که دو یا چند thread بخواهند به صورت همزمان به یک shared resouce دسترسی پیدا کنند. در این حالت ممکن است ترد دوم در حین کار ترد اول به shared resource دسترسی پیدا کند و اطلاعات ناقصی که ترد اول در حال کار روی آنها بود را دریافت کند. برای حل این مشکل باید از کلاس Lock استفاده شود بصورتی که برنامه را با استفاده از متد acquire قفل کرده تا ترد دیگری نتواند به منابع دسترسی داشته باشد و بعد از اتمام کار با متد release برنامه را آزاد کند. در این حالت برنامه thread safe خواهد بود. مشکل dead lock زمانی اتفاق میفتد که به صورت اشتباه برنامه ای که با استفاده از متد acquire قفل شده بود را دوباره با متد acquire قفل کنیم. در این حالت برنامه block شده و نه پاسخی برگشت داده میشود و نه برنامه تمام میشود. برای حل این مشکل پیشنهاد میشود که lock را به صورت یک context manager با متد with استفاده کنید.


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

رایگان

ارسال نظر

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