Помогите Bukkit: и потоки

pavlinVP

Активный участник
Пользователь
Баллы
46
О гугле кукарекать ненадо не нашел . Мне нужно кое что уточнить.

1): {Текст} И так допустим возмем стандартные потоки у java. Ну не знаю создадим такой поток. А потому туда цикл while. А ну еще перенесем туды обьект player. Каждый раз сервер будет проверять блок на котором стойт игрок. Если он будет на определеным то vault будет давать ему определеную сумму. Ну а если другой игрок зайдет на этот блок то в таком случае мы просто добавим новую переменую boolean. И как только игрок зайдет на такой блок оператор if увидет о том что эта переменая находиться на false и как следствие цикл новый поднят не будет.Ну а сам цикл while будет проверять корды приведушиго игрока каждые 5-10s. И как только он с корда сойдет переменя улетит в true. Ну а если новый плеер зайдет на эту корду то переменая ясен пень снова улетит на false. Ну а задержку сделаю ясен пень я так: Thread.Sleep(5000);
1):{Вопрос} Сильно ли такое будет насиловать сервер?. И стойт ли вместо этого юзать ту систему потоков которая у баккита?. Можно ли юзать стандартные java потоки для создания асинхроных операции?.

2): {Вопрос} Сильно потоки у bukkit отличаются от стандатных java?. Мое придположение библеотеки bukkit более гибкие нежели стандартные java.
 
Bukkit не поддерживает многопоточность, там только асинхронность по типу JavaScript/Node.js (не углублялся в реализацию упомянутых, но суть такая же). Выбирать между ними стоит следующим образом:

Используйте асинхронные bukkit task'и/Java потоки (java.lang.Thread) только если Вы не будете использовать Bukkit API «Asynchronous tasks should never access any API in Bukkit. Great care should be taken to assure the thread-safety of asynchronous tasks.» BukkitDocs. (например, при реализации соединений клиент-сервер с Socket'ами)

Если Вам нужно просто обработать какие-то данные отдельно/через какой-то промежуток времени/запускать обработку с повтором — стоит использовать систему BukkitTask'ов
 
ТС
edrit-vy-loh_28904383_orig_.jpeg
 
Назад
Верх