0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
Reactive Programming چه مفهومی دارد؟

2 پاسخ

+1 امتیاز
قبل توسط (1.2هزار امتیاز)
ویرایش شده قبل توسط

یک مدل برنامه نویسی ، هر برنامه ای که چهار پارامتر Event-driven,responsive,scalable,resilent رو داشته باشه Reactive میگن.
اطلاعات بیشتر.
و یا نسخه ترجمه شده همین مستند.

0 امتیاز
قبل توسط (20 امتیاز)
ویرایش شده قبل توسط

به نظر من یکی از تفاوت های عمده ی برنامه نویسی Reactive با برنامه نویسی امری ساده حرکت از کد معمولی به سمت کد Async و Non-blocking هستش. به این معنی که برنامه ی شما بیشتر از مدل های مسیج پسینگ برای ارتباط با یک ماجول یا فانکشن استفاده می کنه و علاوه بر اون برای بحث های همروندی شما از لاک که باعث بلاک شدن ترد ها میشه استفاده نمی کنید.

شاید یک تعریف از سیستم ها Reactive و برنامه نویسی Reactive حرکت به حوزه ی Async و Non-Blocking هست.

قبل توسط (308 امتیاز)
منظور از block نشدن thread چی هست مثلا در یک برنامه وب جاوایی به ازای هر request یک thread باز می شود که این thread مسئول پاسخگویی به این درخواست می باشد این معماری چه تفاوتی با reactive programming داره
قبل توسط (1.1هزار امتیاز)
خب این مدلی که شما گفتید Reactive نیست چون اون thread از زمانی که درخواست شروع میشه تا زمان پایان درخواست مشغول میمونه و اگر لود بالا بره دیگه thread آزادی نمی مونه و اصطلاحا سیستم دیگه responsive نیست.
قبل توسط (308 امتیاز)
بله من هم تفاوتش رو میخواستم بدونم .reactive programming چطور این مشکل رو حل کرده که thread تا پایان درخواست منتظر نمیمونه اگر اشتباه نکنم بالاخره راهی باید باشه درخواست داده شده پاسخ داده بشه من خیلی وقت هست دنبال جواب این سوالم
قبل توسط (1.1هزار امتیاز)
reactive programming که مفهومه، راهکار رو فریم ورک ها و پلتفرم ها ارائه میدن، برای مثال در جاوا در ساده ترین حالت با جدا کردن thread pool ها و در حالات پیشرفته تر با استفاده از NIO در JDK یا فریم ورک هایی مثل netty یا Akka یا vertx این کار را می کنند.

سوالات مشابه

0 امتیاز
0 پاسخ 250 بازدید
0 امتیاز
0 پاسخ 364 بازدید
+2 امتیاز
1 پاسخ 762 بازدید
+1 امتیاز
2 پاسخ 861 بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط mp (7.0هزار امتیاز)
+1 امتیاز
1 پاسخ 391 بازدید
0 امتیاز
0 پاسخ 26 بازدید
0 امتیاز
0 پاسخ 71 بازدید
سوال شده 1 ماه قبل در برنامه نویسی توسط ghazalo (0 امتیاز)
...