1

Тема: "Реактивне программування", чи можливо для С/С++ ?

Ось мені дуже цікаво чому для С++, нема стандартної реалізації чогось на кшталт ConcurrentBag з С# ?

2

Re: "Реактивне программування", чи можливо для С/С++ ?

https://github.com/ReactiveX/RxCpp ?

Подякували: koala1

3 Востаннє редагувалося cheappi386 (19.06.2020 21:21:08)

Re: "Реактивне программування", чи можливо для С/С++ ?

FakiNyan написав:

https://github.com/ReactiveX/RxCpp ?

Пане ви розумієте що таке С++ ? Питання було не про такий ,м'яко кажучи, рівень абстракції

4

Re: "Реактивне программування", чи можливо для С/С++ ?

По-перше, що саме ви маєте на увазі під "реактивним програмуванням"? Я не бачу нічого асинхронного чи базованого на подіях у ConcurrentBag. Де реактивність?
По-друге, далеко не все, що потрібне вам, потрібне й іншим. Візьміть одну з 100500 лівих бібліотек або напишіть свою реалізацію під конкретно вашу задачу; даю 90%, що воно працюватиме не гірше за ConcurrentBag. Нащо роздувати стандартну бібліотеку?
По-третє, ви взагалі в курсі, що C і С++ - різні мови? Якщо так - чому пишете їх разом у питанні?

5 Востаннє редагувалося cheappi386 (19.06.2020 21:37:44)

Re: "Реактивне программування", чи можливо для С/С++ ?

koala написав:

По-перше, що саме ви маєте на увазі під "реактивним програмуванням"? Я не бачу нічого асинхронного чи базованого на подіях у ConcurrentBag.

нема обмежень у читанні/запису до контейнеру.В цьому це все питання, контейнери С++, при читанні потоко-безпечні, але при записі НІ.На відмінну з реалізаціями певних контейнерів JAVA та C#.

6

Re: "Реактивне программування", чи можливо для С/С++ ?

Ну то успадковуйтеся від них і додавайте у відповідні методі м'ютекси, в чому проблема?

Подякували: leofun011

7 Востаннє редагувалося cheappi386 (19.06.2020 21:49:05)

Re: "Реактивне программування", чи можливо для С/С++ ?

koala написав:

Ну то успадковуйтеся від них і додавайте у відповідні методі м'ютекси, в чому проблема?

У стратегії обмазування std::map синхронизаціями. Та й я бачу як до ++ після стандарту 11 року, затято тягнуть ФІЧІ з форків, але й досі чомусь нема потоко захищеного контейнеру, як у мовах форках =/

8

Re: "Реактивне программування", чи можливо для С/С++ ?

Так, ще раз: ваше питання не має жодного стосунку до реактивного програмування, правильно?
Чому це раптом std::multiset став std::map?
Ну і так - стратегія обмазування стандартної колекції синхронізаціями. Ви маєте однозначну відповідь на питання, як саме це треба зробити з мінімальними втратами продуктивності? Чи скільки треба варіантів кожної колекції для кожного варіанту синхронізації? То поділіться своїм знанням з іншими смертними. Бо інакше ви пропонуєте додати щось неуніверсальне до стандартної бібліотеки, щоб половина користувачів усе одно брала ліві реалізації, бо їм ваша бібліотека не підходить.

Подякували: leofun011

9 Востаннє редагувалося cheappi386 (19.06.2020 22:10:08)

Re: "Реактивне программування", чи можливо для С/С++ ?

Я завжди мав на увазі що реактивне програмування - це  мультипотічність без дедлоків, чи я помилявся ?

Ви маєте однозначну відповідь на питання,як саме це треба зробити з мінімальними втратами продуктивності?

не маю то му і створив цю тему.
Взагалі мені потрібен об'єкт, до якого об'єкти typedef A можуть навалювати данні, а об'єкт typedef B, їх виймати та обробляти.У принципі "ConcurrentBag з С#" це те що мені треба, але в С++ його не затягнули.Що дуже дивно.

10

Re: "Реактивне программування", чи можливо для С/С++ ?

Прихований текст

Будете па плюсах писати - зашкодить веб макакінгу

11

Re: "Реактивне программування", чи можливо для С/С++ ?

Гляньте на libcds, може, щось вам підійде.
Це трохи пояснює, чому в STL немає того, що ви шукаєте.

Подякували: leofun011

12

Re: "Реактивне программування", чи можливо для С/С++ ?

Прихований текст
0xDADA11C7 написав:
Прихований текст

Будете па плюсах писати - зашкодить веб макакінгу

вебсокети дуже файно стикують це все в один "ентерпрайз".

Подякували: leofun011