нативный беспредел - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming

Программирование / Programming
Ищете помощи в написании программы, есть сложность в выполнении задания (в институте и т.д.), пожалуйста, спросите у нас в данном форуме и мы обязательно вам поможем.

Ответ
Опции темы
Непрочитано 08.11.2012, 14:05   #1
Пользователь

Автор темы (Топик Стартер) нативный беспредел

есть волновая система, сеть Петри.

код раз:
Свернуть ↑Развернуть ↓

в чем проблема: при n меньше 30 программа работает корректно. Когда больше - даже не входит в main ( не печатает "start..."). Решение простое - засунуть в потоки:

код два:
Свернуть ↑Развернуть ↓

упустил когда читал этот момент и помогите дать точный ответ, почему главный процесс сразу впадает в режим ожидания с n>30 при явном вызове.
//Как я думаю: при компиляции создаются инструкции, что уже известно, допустим, 100 итераций по 9*X*Y*Z WaitForSingleObject и это глушит процесс при запуске.

сеть Петри для красоты поста:
Свернуть ↑Развернуть ↓
учусь вне форума Ответить с цитированием
Непрочитано 08.11.2012, 14:19   #2
Аватар для Yorie

По умолчанию Re: нативный беспредел

Код:
channel (int nn): size(nn)
		{
			buf = new double[nn];     
			countr=0; countw=0;
Просто гениальный код. Для чего нужны инициализаторы, видимо, автор не знает.

Какая-то странная у Вас зависимость получается. При входе в main приложение сразу выводит в поток текст, работает это не в треде, должно вывестись при любом N, по идее. Пробовали выпиливать свои циклы из main?
__________________
// aka Deft
Yorie вне форума Ответить с цитированием
Непрочитано 08.11.2012, 14:30   #3
Пользователь

Автор темы (Топик Стартер) Re: нативный беспредел

Циклы выпилены в потоки под вторым спойлером. Программа работает верно. В том то и дело, что в любом случае должно вывести текс при входе в main, но не выводит, следовательно до этого уже ловит wait или что-то еще=\
учусь вне форума Ответить с цитированием
Непрочитано 08.11.2012, 15:52   #4
Аватар для Yorie

По умолчанию Re: нативный беспредел

Потоки используют буфферизацию. Так что вывод может произойти не через 0.01мс, а чуть позже.
WaitForSingleObject не глушит процесс, эта вещь предназначена для ожидания своих тредов. Не уверен в корректности кода в первом спойлере.
Вы дебажили свое приложение? Запустите в тред какую-нибудь 1 функцию и посмотрите, что происходит в дебаге.
__________________
// aka Deft
Yorie вне форума Ответить с цитированием
Непрочитано 08.11.2012, 15:53   #5
Аватар для Dementor
Герой

По умолчанию Re: нативный беспредел

офф:
Свернуть ↑Развернуть ↓
Dementor вне форума Ответить с цитированием
Непрочитано 08.11.2012, 21:17   #6
Пользователь

Автор темы (Топик Стартер) Re: нативный беспредел

вопрос решен. Почему то вылетело из головы, что WaitForSingleObject в цикле останавливает текущую нить, т.е. main, и т.к. счетчик семафора равен нулю - впадает в INFINITE.

ps: зато кто не знал о Петри - возможно узнает
учусь вне форума Ответить с цитированием
Непрочитано 08.11.2012, 21:19   #7
Аватар для ALeKsIuS

По умолчанию Re: нативный беспредел

Метки как всегда огооонь
__________________
Мы всё сделаем металлом! Чернее чернейшей черноты бесконечности! (c) Nathan Explotion
Работаю с Aion Java-emu, любой версии. skype: alexsiuss1
ALeKsIuS вне форума Ответить с цитированием
Ответ

Метки
петри в шоке, семафорь меня полностью


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2022 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 13:49. Часовой пояс GMT +3.

Вверх