Skip to content

Latest commit

 

History

History
106 lines (90 loc) · 3.61 KB

concurrency_patterns.md

File metadata and controls

106 lines (90 loc) · 3.61 KB

🌱 الگو Fan Out/In چیه و چه کاربردی داره؟

چندین کار را با گوروتین همزمان انجام میده و در نتیجه خروجی این کارها را با هم ترکیب میکنه

چندتا کاربرد داره که اینجا میگم

1- پردازش داده (Data Processing) : شما یک داده بزرگی را دارید قصد دارید پردازشی برروی این داده انجام دهید حال می توانید این داده را به بخش های کوچکتری بین گوروتین ها تقسیم کنید تا بصورت موازی پردازش شود در نهایت خروجی های پردازش شده را با هم ترکیب کنید.

2- وب Web Scarping : می توانید چندین Scraping وب سایت را بطور همزمان ایجاد کنید و پس از آن نتایج را ترکیب کنید. به عنوان مثال شما بطور موازی چندین گوروتین را برای Web Scaring صفحات مختلف یک وب سایت ایجاد می کنید و با استفاده از کانال نتایج را جمع آوری میکند و در نهایت برروی این نتایج پردازش و در یک دیتابیس ذخیره می کنید.

3- محاسبات توزیع شده (Distributed computing) : چندین گوروتین را برای انجام کار ها در Machine های مختلف راه اندازی کنید و سپس از یک کانال برای جمع آوری داده استفاده کنید. سپس گوروتین اصلی می توانید نتایج حاصل از را از تمامی node ها جمع آوری کند و یک خروجی ترکیب شده ایجاد کند.

4- شبکه : برای مدیریت همزمان چندین کانکشن ورودی و سپس ترکیب نتایج استفاده کنید. به عنوان مثال می توانید چندین گوروتین را برای مدیریت کانکشن های ورودی راه اندازی کنید و سپس از یک کانال برای جمع آودری نتایج استفاده کنید. پس از پردازش و ترکیب نتایج این نتایج را به عنوان خروجی به کلاینت نمایش دهد.


🌱 الگو Wait For Result

جواب


🌱 الگو Wait For Task

جواب


🌱 الگو Drop

جواب


🌱 الگو Cancellation

جواب


🌱 الگو Semaphore

جواب


🌱 الگو Bounded Work Pooling

جواب


🌱 الگو Retry Timeout

جواب


🌱 الگو Channel Cancellation

جواب


🌱 الگو producer-consumer

جواب


🌱 الگو Monitor

جواب


🌱 الگو Future

جواب


🌱 الگو Pipeline

جواب


🌱 الگو Subscription

جواب


🌱 الگو Bridge Channel

جواب


🌱 الگو Queuing

جواب