У меня есть база данных, которая хранит, например, ключ изображения для TextureAtlas . Поскольку запрос к базе данных не должен блокировать основной поток, запрос выполняется в другом потоке.
Теперь я хочу создать актера scene2d и вернуть его, чтобы его можно было показать.
new Thread() {
@Override
public void run() {
String resultOfQuery = ...;
final Image image = new Image(atlas.findRegion(resultOfQuery));
Gdx.app.postRunnable(new Runnable() {
@Override
public void run() {
listener.onImageCreated(image);
}
});
}
}.start();
Как видите, я создаю изображение в новом потоке, а затем передаю его основному потоку. Но libGDX wiki гласит:
Вы никогда не должны выполнять многопоточные операции с чем-либо, что связано с графикой или аудио, например использовать компоненты scene2D из нескольких потоков.
Нужно ли создавать и назначать актера на сцену в главном потоке? Или это нормально, если я создам его в другом потоке, а затем добавлю его на сцену основного потока?