OSDev http://osdev.su/ |
|
Вопросы производительности многопоточных сред. http://osdev.su/viewtopic.php?f=5&t=322 |
Страница 16 из 18 |
Автор: | Mr.McD. [ 08 фев 2012, 01:35 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
И ещё: как это "не рекомендуется" работать с несколькими критическиме секциями? - А как тогда обрабатывать потоки данных, когда нужно из одного канала/буфера брать, а в другой писать? Приведённый в пример "инкапсулирующий подход" - не нужен:) |
Автор: | Mr.McD. [ 08 фев 2012, 02:05 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Ёда, я согласен с тобой, что мутекс - по определению механизм работы с общим ресурсом. Их много таких механизмов - семафоры, мониторы, флаги и т.п. Но есть такие задачи, которые решаются только обменом сообщениями. При этом, сообщения могут решить и задачи с мутексами, флагами и т.д. А если первое лезвие бреет чисто, а второе ещё чище, то нафига нужно первое лезвие?;) И я не пытаюсь смешивать понятия кооперативки и обмена сообщениями. Просто если система основана на объектах/агентах/клиентах-серверах/акторах и т.д., то вытеснение здесь просто лишняя сущность. Согласен, вытеснение может быть отличной низкоуровневой абстракцией многозадачности на одной машине. А разнеси ты "кооперативные" объекты по разным машинам и их логика работы не изменится: принял сообщение, отправил сообщение, уснул - жду новое сообщение... Как бы так. Вероятно, это Танненбаум со своим Миниксом привил микроядерщикам "чувство вкуса" в применении сообщений, как универсального средства близкого и удалённого общения и синхронизации процессов. Главный же аргумент в пользу кооперативки здесь - возможность реализавать логику объектной системы "на коленке", без расхода лишних ресурсов и лишних абстракций. Т.е. сделать систему максимально простой, лёгкой, понятной и эффективной. |
Автор: | Mr.McD. [ 08 фев 2012, 03:41 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Ёда, может ты имел в виду Виндовский Critical_Section? - так это тупо спинлок высокоуровневый. Он не решает проблему гонок, не говоря уже о взаимных блокировках.. Химик, не все же проблемы можно решить "с префиксом lock".. Синхронизация ведь тоже разных сортов бывает:) |
Автор: | Yoda [ 08 фев 2012, 10:07 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Не, всё, с меня хватит. Продолжайте тролл-вечеринку без меня :) |
Автор: | Mr.McD. [ 08 фев 2012, 10:32 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Как-нибудь обойдёмся;) |
Автор: | Himik [ 08 фев 2012, 16:33 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Да уж, пожалуй тема слишком широка, поэтому каждый видит её по-своему. |
Автор: | Mr.McD. [ 08 фев 2012, 22:54 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Думаю, каждая тема широка по-своему. А тут даже не непонимание, а нежелание понять. В итоге - каждый остался при своём мнении.. |
Автор: | Himik [ 09 фев 2012, 13:01 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
На самом деле каждый по-своему прав. Да дальше обсуждений это и не могло ни куда пойти. Обсудили - значит задача "минимум" выполнена. |
Автор: | Mr.McD. [ 12 фев 2012, 18:42 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
Думаю, "задача минимум" - это когда пришли к общему пониманию применения модели в свете её очевидных достоинств и недостатков. А в случае неочевидности выше указанных обсуждение принимает вид: "А не много ли букв "о" в слове "кооперативная""? Или так: "А как в невытесняющей системе потоки вытеснять?":) |
Автор: | Himik [ 13 фев 2012, 15:29 ] |
Заголовок сообщения: | Re: Вопросы производительности многопоточных сред. |
По-моему все всё поняли. Псевдопараллельная модель не является конкурентом параллельной (если подразумевать реальную параллельность). Кооперативная многозадачность нашла своё применение в событийной модели управления. Какие вопросы ещё остались не раскрыты? |
Страница 16 из 18 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |