|
|
![Ответить в эту тему](style_images/uokit/t_reply.gif) ![Открыть новую тему](style_images/uokit/t_new.gif) |
Плагин графического интерфейса |
|
|
cirus |
7.3.2016, 22:06
|
![](http://www.imageup.ru/img219/1921925/12270358.gif)
![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif)
Elder
Сообщений: 3.480
Регистрация: 18.8.2014 Группа: Пользователи Наличность: 26952
Пользователь №: 16.971
Возраст: 29
![](style_images/uokit/spacer.gif)
|
На счёт этой ошибки: https://forum.uokit.com/index.php?s=&sh...st&p=219482Вчера тестил скрипт, кликал на кнопки пилотом, работало часа 2 без проблем, причём задержка была 0. Потом запустил 2 окна lineage2, еще где-то час работало без проблем, как только запустил третье окно l2 вылезла эта ошибка. Стал пробовать запускать и выгружать окна во время работы скрипта, ошибок не было никаких. Решил что совпадение. Сегодня было запущено 2 окна l2, часа 1,5 никаких проблем, но уже с задержкой 100 мс, как только запустил третье окно l2 та же ошибка вылезла. Как связан запуск приложения с работой плагина не знаю, но когда я только написал про эту ошибку первый раз, то никакие окна не загружались.
|
|
|
|
DarkMaster |
9.3.2016, 15:20
|
![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif) ![*](style_images/uokit/pip.gif)
Модератор UOPilot
Сообщений: 9.495
Регистрация: 2.12.2008 Группа: Супермодераторы Наличность: 28092
Пользователь №: 11.279
![](style_images/uokit/spacer.gif)
|
А там не все так просто. Можно еще натворить взаимную блокировку процессов и будет рыба. Смысл будет тот же самый - считан флаг, что свободно, а оно уже начало заниматься, но не успело. Полноценную многопоточку с очередью в таком ключе никогда не реализовывал на практиктике. Если надо добавить данные в очередь в другом потоке, который эту очередь постепенно очищает, то я представляю, как это сделать, а в данном случае - не очень. Ну или наоборот раздать на n потоков одну очередь. Мне кажется надо думать над созданием некоторого списка в котором будут хранится таски на основе номера вкладки или TID процесса. Далее эти таски будет собирать некоторый коллектор, после сбора удалять. Лучше использовать именно список, а не массив - проблем меньше будет с изменением размера, добавлением/удалением. Грубо говоря что-то вроде https://forum.uokit.com/index.php?s=&sh...st&p=209321но уже в контексте нормального языка и некоторых ограничений из-за отсутствия прямого доступа к переменным скрипта, в виде списка и, скорее всего, идентификаторы завязывать на TID, а поток не закрывать пока таск не будет в очередь помещен. В бусте что-то готовое есть для этого дела кстати. Там есть и очередь на n потоков и n потоков на одну очередь.
--------------------
Скрипты UOPilot под заказ. Консультации по UOpilot 15$/час. Услуги Lua разработчика (не пилот, проекты, постоянка) Disсоrd: Kov____
|
|
|
|
|
![Ответить в эту тему](style_images/uokit/t_reply.gif) ![Открыть новую тему](style_images/uokit/t_new.gif) |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|