Проект Lost Lands
#65
"такая хрень" она от клиента-сервера а не от интерпретатора скрипта же, потому и такая, к тому же там всё же одновременно и клиент и сервер и у того и другого минимум 2 потока - 1 чисто сеть, второй всякие долгие вещи обрабатывает чтоб сетевой не ждал их, вот и получается в итоге хрень с несколькими очередями, приоритетами в очереди и прочей веселухой ). Имхо в однопоточном скриптовом интерпретаторе что-то похожее скорее всего полезет по мере усложнения

Цитата:А в случае использования одного потока все тупо и элементарно: создать общую глобальную очередь с таймером и добавлять туда то, что надо выполнить, а в главном цикле просто делать
while (queue.getTop().timer == 0)
{
script.exec(queue.getTop().code);
queue.deQueue();
}
это сработает только если очередь строится исключительно на времени, которое "скрипт" (в терминах ПЗшного скриптоязыка) должен спать и ничего не делать, в реальном скрипте там жеж вообще может не быть слипа а быть просто одно или несколько условий при котором тот или иной кусок скрипта выполняется т.е. цикл должен как минимум помимо отсчёта времени по всем спящим скриптам проверять условия для тех которые не спят, при этом скорее всего синхронизируясь с другим или другими потоками движка если движок больше чем в 1 потоке работает.
Gipat Group
Ответ


Сообщения в этой теме
Проект Lost Lands - от MageNuada - 29.06.2013, 13:29
Проект Lost Lands - от MageNuada - 30.06.2013, 01:30
Проект Lost Lands - от MageNuada - 03.08.2013, 22:03
Проект Lost Lands - от MorgenS - 05.08.2013, 09:30
Проект Lost Lands - от MageNuada - 05.08.2013, 11:12
Проект Lost Lands - от MorgenS - 06.08.2013, 09:08
Проект Lost Lands - от MageNuada - 06.08.2013, 12:00
Проект Lost Lands - от MorgenS - 06.08.2013, 21:17
Проект Lost Lands - от Sagrer - 08.10.2013, 11:27
Проект Lost Lands - от Katrior - 10.10.2013, 10:58
Проект Lost Lands - от ALtair - 15.10.2013, 12:02
Проект Lost Lands - от MorgenS - 15.10.2013, 12:39
Проект Lost Lands - от Katrior - 15.10.2013, 21:55
Проект Lost Lands - от MageNuada - 15.10.2013, 22:52
Проект Lost Lands - от ЧЕЛ - 20.10.2013, 16:32
Проект Lost Lands - от Tock - 21.11.2013, 16:38
Проект Lost Lands - от DePhar - 23.11.2013, 02:40
Проект Lost Lands - от MageNuada - 12.01.2014, 21:46
Проект Lost Lands - от Demoth - 13.01.2014, 12:38
Проект Lost Lands - от MageNuada - 13.01.2014, 15:57
Проект Lost Lands - от Demoth - 13.01.2014, 16:37
Проект Lost Lands - от Bargest - 13.01.2014, 22:42
Проект Lost Lands - от MageNuada - 14.01.2014, 10:39
Проект Lost Lands - от Demoth - 14.01.2014, 11:17
Проект Lost Lands - от MageNuada - 14.01.2014, 13:09
Проект Lost Lands - от Bargest - 14.01.2014, 16:39
Проект Lost Lands - от MageNuada - 14.01.2014, 16:53
Проект Lost Lands - от Bargest - 14.01.2014, 17:00
Проект Lost Lands - от Demoth - 14.01.2014, 18:53
Проект Lost Lands - от MageNuada - 14.01.2014, 19:47
Проект Lost Lands - от Demoth - 14.01.2014, 20:08
Проект Lost Lands - от MageNuada - 14.01.2014, 21:49
Проект Lost Lands - от Bargest - 14.01.2014, 22:21
Проект Lost Lands - от Bargest - 17.01.2014, 00:08
Проект Lost Lands - от MageNuada - 22.01.2014, 12:19
Проект Lost Lands - от MageNuada - 09.09.2014, 01:45
Проект Lost Lands - от Smertnik - 26.11.2014, 22:24
Проект Lost Lands - от MageNuada - 01.12.2014, 00:17
Проект Lost Lands - от MageNuada - 05.12.2014, 23:24
Проект Lost Lands - от MorgenS - 07.12.2014, 13:03
Проект Lost Lands - от MageNuada - 07.12.2014, 13:45
Проект Lost Lands - от Sagrer - 22.12.2014, 03:27
Проект Lost Lands - от MageNuada - 22.12.2014, 18:01
Проект Lost Lands - от Sagrer - 23.12.2014, 20:40
Проект Lost Lands - от Demoth - 23.12.2014, 23:20
Проект Lost Lands - от Sagrer - 24.12.2014, 00:17
Проект Lost Lands - от Demoth - 24.12.2014, 00:38
Проект Lost Lands - от MageNuada - 24.12.2014, 02:03
Проект Lost Lands - от Sagrer - 24.12.2014, 11:39
Проект Lost Lands - от Demoth - 24.12.2014, 14:42
Проект Lost Lands - от Bargest - 24.12.2014, 14:55
Проект Lost Lands - от Sagrer - 24.12.2014, 21:03
Проект Lost Lands - от Bargest - 25.12.2014, 01:53
Проект Lost Lands - от Sagrer - 25.12.2014, 09:29
Проект Lost Lands - от GetClooSet - 25.12.2014, 21:22
Проект Lost Lands - от Bargest - 25.12.2014, 21:39
Проект Lost Lands - от MageNuada - 26.10.2015, 17:33
Проект Lost Lands - от MageNuada - 26.10.2015, 19:36
Проект Lost Lands - от Freeman13 - 29.10.2015, 00:50
Проект Lost Lands - от MageNuada - 29.10.2015, 01:14
Проект Lost Lands - от Freeman13 - 29.10.2015, 13:04
Проект Lost Lands - от Рицарь - 02.11.2015, 18:19
Проект Lost Lands - от Poplanu - 12.12.2015, 21:57
Проект Lost Lands - от sharabdin - 16.12.2015, 16:30
Проект Lost Lands - от MageNuada - 16.12.2015, 23:53
Проект Lost Lands - от MageNuada - 22.06.2016, 06:26
Проект Lost Lands - от IDoL - 30.06.2013, 23:12
Проект Lost Lands - от Kalessin - 01.07.2013, 00:01
Проект Lost Lands - от IDoL - 01.07.2013, 00:11
Проект Lost Lands - от Kalessin - 01.07.2013, 01:20
Проект Lost Lands - от Demoth - 01.07.2013, 02:19
Проект Lost Lands - от IDoL - 01.07.2013, 12:54
Проект Lost Lands - от MageNuada - 28.07.2013, 19:58
Проект Lost Lands - от DePhar - 22.10.2013, 21:14
Проект Lost Lands - от MageNuada - 23.10.2013, 10:59
Проект Lost Lands - от MorgenS - 27.10.2013, 20:32
Проект Lost Lands - от sharabdin - 28.05.2014, 16:51
Проект Lost Lands - от MageNuada - 05.06.2014, 01:56
Проект Lost Lands - от MageNuada - 03.07.2014, 12:27

Перейти к форуму:


Пользователи, просматривающие эту тему: 18 Гость(ей)