Форум
Компьютерные священные войны
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, mrTwister, Вы писали: T>Здравствуйте, ·, Вы писали: T>·>Это какое-то странное понимание. В таком случае какой-нибудь семафор или банальный rw-lock тоже можно назвать кооперативной многозадачностью - треды должны таки договариваться T>Ну представь для простоты, что у тебя в пуле один поток. И мы используем один этот поток, чтобы конкурентно выполнять несколько кусков работы "процессов". Это можно сделать через async\await, разбив работу на таски и выстроив таски в цепочку. В этом случае получаем кооперативную многозадачность, так как таска должна добровольно отпустить поток, чтобы дать возможность конкурентному "процессу" продвинуться, выполнив свою таску. Тут стандартные проблемы: если таска ведет себя плохо, отказывается кооперироваться и не отдает поток, то все конкурентные процессы останавливаются.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …