Re[3]: Зачем нам асинхронность?
От: ksandro Мухосранск  
Дата: 17.08.20 14:59
Оценка:
Здравствуйте, Serginio1, Вы писали:


K>>А вот я считаю, что многопоточность не нужна. По крайней мере не нужна в том виде, в каком она сделана сейчас почти везде. Нельзя свободно давать писать разным потокам в одну облась памяти, а затем долго трахаться с выявлением всех дед локов и рэйс кондишенов, и в итоге получить решение, работающее в разы медленнее чем однопоточное.

S>Ну а что вместо потоков?
Ну я ж говорю, процессы или ассинхронность. Ну если потоки, то они не должны по умолчанию иметь свободный доступ к одной области памяти (так к ак это всегда приводит к ошибкам), это может решаться на уровне компилятора. Те потоки, которые есть сейчас, практически всегда приводят к ошибкам или тормозам на ровном месте. Даже очень опытные разработчики эти ошибки делают.

S>Ну можно например держать поток(и) только для записи и организовать очередь. Можно сделать версионность как в БД для чтения.

Для этой цели можно использовать процесс, и shared memory, ну или какое-либо другое средство межпроцесного взаимодействия. А с потоками, кто-то потом обязательно захочит своими кривыми руками приделать, например мониторинг размера очереди, а потом, еще непосредственно перед записью вызвать какой-нибудь коллбек, чтоб сообщить чтовсе записалось. В итоге получить где-нибудь race condition



K>>Для параллельного исполнения вполне можно и нужно использовать несколько процессов а не потоков. Для того, чтоб организовать работу нескольких задач в рамках одного процесса можно и нужно использовать ассинхронность. А от тредов одни проблемы! Впринципе так оно и работало когда-то, не знаю, почему в свое время начали активно везде внедрять эти потоки, причем их активно пропагандировали еще до массового появления многоядерных процессоров.


S> Ну вот берем БД и как несколько процессов решит проблему проблему с чтением записью в файл.

не совсем понимаю, в чем проблема? почему это нельзя организовать с процессами или ассинхронностью? Возможно я не понял задачу, опиши подробнее?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.