XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
Integro
старожило
offline
Опыт: 630
Активность:
Создание новых потоков
Возможен ли запуск второго и более потоков игры без зависания предыдущего, если да то сколько максимум и какой функцией.
Старый 06.09.2008, 02:50
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
а что ты хочешь этим сделать?
Старый 06.09.2008, 02:58
ScorpioT1000
Работаем
online
Опыт: отключен
ExecuteFunc(name)
Старый 06.09.2008, 02:58
Sebra

offline
Опыт: 5,603
Активность:
Весь скрипт выполняется в одном потоке, несмотря на то, что делится на "потоки".
В других потоках исполняется код ИИ, тоже делясь на свои "потоки".
Если не хочешь запутаться в потоках этих "потоков", :) конкретизируй, что хочешь получить.
Старый 06.09.2008, 14:55
ScorpioT1000
Работаем
online
Опыт: отключен
какраз-таки нехрена. потоков какраз на самом деле больше в выполнении нужной операции чем ты подразумеваешь када пишеш код
Старый 06.09.2008, 15:57
Sebra

offline
Опыт: 5,603
Активность:
ScorpioT1000, вот ты конечно умный, знаешь как на самом деле.
Так раскажи, что а варе с потоками творится, как они творятся, обрабатываются и используются.
Напиши статеечку или хоть ссылочку, где это расписано.

Сколько ни искал - нет такой статьи. Вот Адольф писать хочет, да видно долго хотеть будет.
Старый 06.09.2008, 17:11
df Hunter
Нападатель
offline
Опыт: 5,749
Активность:
поток на самом деле реально один, попробуй например в одном триггере сделать цикл, а в другом обнуление счётчика и посмотри как получится
Старый 06.09.2008, 21:06
Toadcop

offline
Опыт: 54,313
Активность:
ну да в варе всё выполняетьса ПО ПОРЯДКУ =) без парарельных сопернечеств с другими функциями или что то на подобие.
Старый 06.09.2008, 22:07
Sebra

offline
Опыт: 5,603
Активность:
Я примерно это и писал.
Цитата:
Основной результат такого исследования состоит в том, что War в момент запуска создаёт 19 потоков, а затем их только использует! Большинство потоков висят замороженными, и «размораживаются» по мере надобности. Взамен каждого подвисшего потока тотчас создаётся новый.
Кстати, на самом деле потоков 20, а не 19 – т.к. создание главного потока фиксируется событием CREATE_PROCESS_DEBUG_EVENT, а его мы не обрабатывали.
Цитата показывает, что потоков всё-таки много. Я думаю, что один для скрипта карты, другие - для скриптов ИИ. С запасом.
Старый 06.09.2008, 22:35
Toadcop

offline
Опыт: 54,313
Активность:
Sebra а мы представаь не догадывались =О ... Т_Т
здесь вообще то джасс обсуждаетьса =)

как минимум нужно 2 потока для игровых процессов и графики (отдельных)
Старый 06.09.2008, 22:49
Sebra

offline
Опыт: 5,603
Активность:
Toadcop. о твоих умственных способностях я представление имею.
Я лишь пытался сказать, что в Варе потоками называются разные вещи.
Кто может это объяснить, напишите статейку.

Автор темы так и не сказал, что ему надо.
Пока первая реплика самая полезная.
Старый 06.09.2008, 23:04
ScorpioT1000
Работаем
online
Опыт: отключен
Цитата:
ScorpioT1000, вот ты конечно умный, знаешь как на самом деле.
Так раскажи, что а варе с потоками творится, как они творятся, обрабатываются и используются.
Напиши статеечку или хоть ссылочку, где это расписано.

ты бредиш? ну естестно в выходе все это(даже циклы) выполняются в виде последовательных д-вий, а не циклов) но я грю про внутренний процесс, обработку задач
Старый 06.09.2008, 23:53
Sebra

offline
Опыт: 5,603
Активность:
Цитата:
ты бредиш?
Да нет, просто искал статьи и не нашёл.
Цитата:
все это(даже циклы) выполняются в виде последовательных д-вий
Согласен, но к чему тогда
Цитата:
ExecuteFunc(name)
а потом ещё
Цитата:
потоков какраз на самом деле больше в выполнении нужной операции чем ты подразумеваешь када пишеш код

Ладно, не будем ссориться. Неизвестно, что автору темы надо.
Старый 07.09.2008, 00:14
ScorpioT1000
Работаем
online
Опыт: отключен
Цитата:
ExecuteFunc(name)

дыг скорей всего он про это спрашивал, как запустить ф-цию в новом потоке без ожидания дальнейших д-вий
Старый 07.09.2008, 00:22
__Dark Lord__

offline
Опыт: 5,262
Активность:
Цитата:
Сообщение от Toadcop
как минимум нужно 2 потока для игровых процессов и графики (отдельных)

Скорее "JASSовские" потоки это нечто более высокое по уровню абстракции, чем те потоки о котрых ты говоришь. Это так сказать внутренние потоки движка. "Поток" для игры один, т.е графика, логика, обработка сообщений все это в одном потоке.
Старый 07.09.2008, 12:22
adic3x

offline
Опыт: 108,439
Активность:
поток с точки зрения програмиста в жассе один
Цитата:
а что ты хочешь этим сделать?

самый актуальный пост в теме

Цитата:
Возможен ли запуск второго и более потоков игры без зависания предыдущего, если да то сколько максимум и какой функцией.

если я правильно понял то тебе нуно что бы твой код выполнился до конца, а потом начал выполняться какой либо другой?

как вариант
Код:
call TimerStart(CreateTimer() /*либо использовать глобальный*/, .0, false, function XxXxX)
Старый 08.09.2008, 15:08
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 14:25.