|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.10.2015, 16:22 | #1 |
Форумчанин
Регистрация: 30.12.2010
Сообщений: 280
|
Вопрос по мютексам
Здравствуйте.
Есть сервер на котором один слушающий и два рабочих потока. Мне не совсем понятно как работают мютексы. Например есть в рабочем потоке массив классов classA[20]. В рабочий поток передаётся id класса в котором нужно запустить функцию например Func(). Рабочий поток такой Код:
Так будет быстрее Код:
Код:
К примеру в очереди TCPQueue - 2 элемента id = 0; и id = 1; Если я использую код как в примере (2), то второй поток будет приостановлен пока в первом потоке не завершится функция Func. Если будет использован код из примера (1), то так как переменные id разные, то оба рабочих потока будут работать одновременно. Я правильно понял? |
20.10.2015, 17:25 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Все зависит от QueueMutex, но он здесь не указан, так что ваш вопрос не имеет ответа.
Насчет того, как работают мьютексы - два потока НЕ могут пройти через ОДИН мьютекс ОДНОВРЕМЕННО. |
21.10.2015, 17:00 | #3 | |
Форумчанин
Регистрация: 30.12.2010
Сообщений: 280
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос | ser70 | Общие вопросы C/C++ | 1 | 15.11.2012 22:46 |
Вопрос по mySQL + Вопрос по RichEdit | HTL | Общие вопросы Delphi | 4 | 01.01.2010 20:22 |
вопрос | Exo | Microsoft Office Excel | 2 | 04.12.2008 17:07 |
Вопрос наверное про функции, а так точно даже не знаю про что. (Вопрос начинющего #6) | Albert2008 | Общие вопросы Delphi | 4 | 21.08.2008 15:33 |
вопрос по сокетам и общение как в ICQ.Сложный вопрос... | Руслантус | Общие вопросы C/C++ | 2 | 12.08.2008 21:10 |