Это общий вопрос Java, а не первый Android!
Я хотел бы знать, как запускать код в основном потоке, из контекста вторичного потока. Например:
new Thread(new Runnable() {
public void run() {
//work out pi to 1,000 DP (takes a while!)
//print the result on the main thread
}
}).start();
Что-то вроде этого - я понимаю, что мой пример немного беден, поскольку в Java вам не обязательно быть в основном потоке, чтобы что-то печатать, и что Swing также имеет очередь событий, но общая ситуация, когда вы возможно, потребуется запустить say Runnable в основном потоке, в то время как в контексте фонового потока.
EDIT: для сравнения - вот как бы я сделал это в Objective-C:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0UL), ^{
//do background thread stuff
dispatch_async(dispatch_get_main_queue(), ^{
//update UI
});
});
Спасибо заранее!