• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Threads

  • Автор темы KIAN
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KIAN

вобщем все просто. есть 2 треда, один выполнят основную работу второй, эту работу иллюстрирует. по отдельности работают идеально. но вместе??? возникает странность: (передача параметров через глобальные переменные) портятся те параметры которые которые идут только 1 треду(имя открываемого файла)
ЕСТЬ ИДЕИ как от этого избавится?
 
B

Barmutik

Не использовать глобальные переменные для передачи параметров!
 
N

nonentity

почитайте инфу для синхронизации потоков. не знаю, на чем вы пишите, но если на семействе Си, то есть такие средства синхронизации, как критическая секция, мьютекс, монитор. синхронизировать можно также и на основе событий. все это делается, в принципе, довольно просто. если нужна инфа, пиши на ales-cvik@mail.ru или звони по мирке на Alesь
 
K

KmeT

имхо, критическая секция, мьютекс, события это все же объекты винды, а не конкретного языка.

А в вашем случае если предача через глобальные пременые организована более и менее прямо, может помочь объявление пременных как не оптимизирующихся(мля криво выразился :(), для MVC это спецификатор volatile.

А вообще очень даже согласен с Barmutik. Глобальные пременные в многопоточном приложении это такой гемор
 
G

Guest

<!--QuoteBegin-KmeT+5:08:2005, 00:42 -->
<span class="vbquote">(KmeT @ 5:08:2005, 00:42 )</span><!--QuoteEBegin-->А в вашем случае если предача через глобальные пременые организована более и менее прямо, может помочь объявление пременных как не оптимизирующихся(мля криво выразился :(), для MVC это спецификатор volatile.[/quote]

volatile - это ключевое слово языка с++ и к MSVC не имеет отношения. Объявление переменных volatile в общем случае не поможет решить проблемы связанные с многопоточностью.
 
G

Guest_shal_*

мутексы, крит. секции и т.п. доступны не только на вин32, но и на большинстве остальных платформ.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!