현재 스레드에서 HandlerThread로 메시지를 보내야하지만 sendmessage 호출이 즉시 반환되지 않도록해야합니다. 이 sendMessage()를 차단하는 방법이 있습니까?HandlerThread를 통해 차단 메시지를 보내는 방법은 무엇입니까?
0
A
답변
0
이것은 해결책이라고 생각합니다.
// This handler will be associated with the UI thread
Handler uiHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
textView.setText("Progress: " + msg.what);
}
};
private void CreateThread() {
Thread t = new Thread() {
public void run() {
for(int i = 0; i < cnt; i++)
{
try {
Thread.sleep(1000);
} catch (Exception e) {
Log.v("Error: ", e.toString());
}
// You can update the UI by sending messages to the UI thread
uiHandler.sendMessage(uiHandler.obtainMessage(i));
}
}
}
};
t.start();
}
+0
불행히도 없습니다. 이상적으로 일어날 일은 uiHandler.sendMessage (uiHandler.obtainMessage (i)); uiHandler가 메세지의 처리를 완료 할 때까지 복귀 할 것은 없습니다. Visual C++ sendmessage는 이런 식으로 동작합니다. – ravindu1024
0
Exchanger 클래스를 살펴보십시오. 나는 교환기를 만들고, 그 교환기에 접근 할 수있는 Runnable을 보내고, 그 교환기에서 동기화 할 것이다. 이 방법은 교환기가 나에게 비동기 적으로 얻은 결과를 줄 것입니다. 메시지와 함께 작동하는 것을 생각해 낼 수 있습니다.
Exchanger.exchange()
을 호출하는 스레드는 오랜 시간 동안 기다려야 할 수도 있습니다. UI 스레드에서 호출하면 ANR이 표시 될 수 있습니다.
관련 문제
- 1. 대화 상자를 통해 메시지를 보내는 방법은 무엇입니까?
- 2. net을 통해 모바일로 메시지를 보내는 방법은 무엇입니까?
- 3. TFS를 통해 메시지를 보내는 방법은 무엇입니까?
- 4. 안드로이드에서 HandlerThread를 사용하는 이유
- 5. 서비스에 메시지를 보내는 방법은 무엇입니까?
- 6. 혈관에서 메시지를 보내는 방법은 무엇입니까?
- 7. CoreMIDI에서 보내는 MIDI 메시지를 모니터하는 방법은 무엇입니까?
- 8. Java에서 블루투스를 통해 휴대 전화로 문자 메시지를 보내는 방법은 무엇입니까?
- 9. api를 통해 Facebook에 알림 또는 메시지를 보내는 방법은 무엇입니까?
- 10. 인터넷을 통해 스마트 폰으로 짧은 메시지를 보내는 방법은 무엇입니까?
- 11. Android에서 블루투스를 통해 문자열 메시지를 보내는 방법은 무엇입니까?
- 12. HTTP POST를 통해 예약 된 메시지를 보내는 방법은 무엇입니까?
- 13. Jade의 http를 통해 기본 컨테이너의 상담원에게 메시지를 보내는 방법은 무엇입니까?
- 14. 소켓 연결을 통해 여러 메시지를 보내는 것을 처리하는 방법은 무엇입니까?
- 15. 포트 80을 통해 Azure Service Bus에 메시지를 보내는 방법은 무엇입니까?
- 16. TCP 연결을 통해 형식의 메시지를 보내는
- 17. 자바 스크립트에서 awesomium으로 메시지를 보내는 방법은 무엇입니까?
- 18. OAuth를 사용하여 직접 메시지를 보내는 방법은 무엇입니까?
- 19. SmackAPI로 브로드 캐스트 메시지를 보내는 방법은 무엇입니까?
- 20. PostMessage를 통해 문자열을 보내는 방법은 무엇입니까?
- 21. 여러 사용자에게 메시지를 보내는 방법은 무엇입니까?
- 22. C++에서 툴바 메시지를 보내는 방법은 무엇입니까?
- 23. iPhone 장치에서 메시지를 보내는 방법은 무엇입니까?
- 24. 코드로 힌트 메시지를 보내는 방법은 무엇입니까?
- 25. MPI에서 특정 대상없이 메시지를 보내는 방법은 무엇입니까?
- 26. 큰 메시지를 WCF 서비스로 보내는 방법은 무엇입니까?
- 27. 플래시에서 Facebook 메시지를 보내는 방법은 무엇입니까?
- 28. iPhone에서 Windows로 메시지를 보내는 방법은 무엇입니까?
- 29. Windows Phone에서 대기열 메시지를 보내는 방법은 무엇입니까?
- 30. 클래스의 마스터 클래스에 메시지를 보내는 방법은 무엇입니까?
차단 중입니까? 왜 그럴거야? – pskink
글쎄 나는 별도의 스레드 내부에서 UI 업데이트를해야하고 다른 스레드에서 계속하기 전에 UI 업데이트가 완료 될 때까지 기다리고 싶습니다. – ravindu1024
시도한 코드를 게시하십시오. –