Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Использование потоков при кодинге на lua
NeTLeaDeR
сообщение 17.11.2019, 4:05
Сообщение #1


*

Registred
Сообщений: 1
Регистрация: 17.11.2019
Группа: Пользователи
Наличность: 0
Пользователь №: 19.448
Возраст: 18



Всем привет.
Возможно ли использовать потоки в UOPilot, при использовании lua в качестве скриптового языка? Или может есть какие-нибудь альтернативы?

Мне нужно запустить код, который выполнится через n секунд (с использованием wait), но запустить его нужно не через равные промежутки времени, а по условию. Короче, как можно запустить отложенный код не стопая основного потока программы?
Заранее спасибо
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 18.11.2019, 4:23
Сообщение #2


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



https://forum.uokit.com/index.php?s=&sh...st&p=434167
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 18.11.2019, 21:53
Сообщение #3


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(NeTLeaDeR @ 17.11.2019, 4:05) *
...
Или может есть какие-нибудь альтернативы?
Короче, как можно запустить отложенный код не стопая основного потока программы?

"Основной поток программы"
Код
...
if hour = 22 // отложенный запуск
    start_script 2
end_if
...
end_script

"отложенный код"
Код
//отложенный код


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 19.11.2019, 19:30
Сообщение #4


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 19.11.2019, 1:53) *


if hour = 22 // отложенный запуск


Помоему он спрашивает можно ли в одном скрипте выполнять 2 потока, а не в 2-х. Меня тот же вопрос интересовал
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 19.11.2019, 20:12
Сообщение #5


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(Levo222 @ 19.11.2019, 19:30) *

Помоему он спрашивает можно ли в одном скрипте выполнять 2 потока, а не в 2-х. Меня тот же вопрос интересовал

В чем разница, если имеется возможность глобального обращения к переменным?


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 22.11.2019, 22:29
Сообщение #6


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 20.11.2019, 0:12) *

В чем разница, если имеется возможность глобального обращения к переменным?

Это уже не многопоточность а многонаправленность., как если бы 10 дел делал не 1 человек а делегировал свои полномочия 9-ти разным людям, которые бы за него данную работу делали.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Fors1k
сообщение 23.11.2019, 0:22
Сообщение #7


*****

Journeyman
Сообщений: 497
Регистрация: 19.12.2017
Группа: Пользователи
Наличность: 2401
Пользователь №: 18.746



Цитата(Levo222 @ 22.11.2019, 22:29) *

если бы 10 дел делал не 1 человек а делегировал свои полномочия 9-ти разным людям, которые бы за него данную работу делали.

И в итоге 10 дел стали бы выполняться одновременно, что и является многопоточностью.
Если нужно сделать бассейн, и первый копает для него яму, не имея права останавливаться, то он может попросить второго сбегать за шлангом с для воды, и подключить его. Это автор и просил.


--------------------
Для связиИзображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 23.11.2019, 16:12
Сообщение #8


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(Fors1k @ 23.11.2019, 4:22) *

И в итоге 10 дел стали бы выполняться одновременно, что и является многопоточностью.
Если нужно сделать бассейн, и первый копает для него яму, не имея права останавливаться, то он может попросить второго сбегать за шлангом с для воды, и подключить его. Это автор и просил.

Нет это не многопоточность, вот сейчас решается такой вопрос количеством ядер(это как количество человек привлеченных к работе). По своей сути вопрос о многопоточности относится к качеству единоличного исполнения всего кода одним ядром/скриптом, а не количественным в увеличении скриптов/ядер/ПК. Чего Lua не может, как я понял из ответов где я ссылку дал.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.11.2019, 18:11
Сообщение #9


***********

Модератор UOPilot
Сообщений: 9.462
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27674
Пользователь №: 11.279



Многопоточность есть. НО там corutine который лично мне вообще непонятно на кой черт существует, т.к. поток там хоть и отдельный, но при его работе приостанавливается основной. Если либы для luajit которые реализуют полноценную многопоточку. Часть из них не удалось скомпилить, то, что было скомпиленным у меня в рамках пилоте не прошло встроенные тесты. Вопрос по-прежнему очень актуален.

https://github.com/torch/cutorch
https://github.com/torch/threads
были еще какие-то решения
Найти быстро не получилось по своим архивам, но гугл помнит =)


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Levo222
сообщение 24.11.2019, 22:58
Сообщение #10


*****

Journeyman
Сообщений: 399
Регистрация: 18.11.2017
Группа: Пользователи
Наличность: 0
Пользователь №: 18.689



Цитата(DarkMaster @ 24.11.2019, 22:11) *

у меня в рамках пилоте не прошло встроенные тесты. Вопрос по-прежнему очень актуален.

Короче вы не очень то этим и занимались)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Cockney
сообщение 24.11.2019, 23:15
Сообщение #11


********

Master
Сообщений: 1.395
Регистрация: 22.6.2013
Группа: Пользователи
Наличность: 21043
Пользователь №: 16.156



Цитата
Короче вы не очень то этим и занимались)


Никто не будет против если вы освоите данное направление.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
DarkMaster
сообщение 24.11.2019, 23:53
Сообщение #12


***********

Модератор UOPilot
Сообщений: 9.462
Регистрация: 2.12.2008
Группа: Супермодераторы
Наличность: 27674
Пользователь №: 11.279



Цитата
Короче вы не очень то этим и занимались)

Я убил на это около двух недель. Сколько мне еще нужно было этим заниматься? Я не в состоянии разбирать на куски эти вещи и лазить в дебаге чтобы фиксить. Возможно что-то не так собрано.


--------------------
Скрипты UOPilot под заказ.
Консультации по UOpilot 15$/час.
Услуги Lua разработчика (не пилот, проекты, постоянка)
Disсоrd:
Kov____
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 16.4.2024, 12:40
Designed by Nickostyle