임의의 임의의 시간에 버튼을 활성화 및 비활성화하는 스레드가 있습니다. 활성화 된 버튼을 클릭하면 수행 된 작업이 실행되어 버튼의 이미지가 변경됩니다. 여기에 동기화가 걱정됩니다. 버튼이 사용 불능 상태가되어 클릭이 발생했다면 이제는 두 스레드가이를 비활성화하고 이미지를 변경하기 위해 하나의 스레드를 실행합니다. 어떻게 동기화해야합니까?다음과 같은 상황에서 동기화가 필요합니까?
답변
모든 Java GUI 툴킷 (스윙, Apache Pivot, JavaFX, AWT, SWT, Android ... 등)은 단일 스레드입니다. 즉, 모든 리스너는 항상 같은 스레드에서 실행됩니다. 그래서 :
- 아니, 당신은
- 이 그래, 당신이 사용하지 않도록하고 버튼을 활성화하면 GUI 스레드에서 발생하도록 (이 호출 wahetever) 돌볼 필요, 동기화의 모든 종류를 수행 할 필요가 없습니다. 정확한 코드는 툴킷에 따라 다릅니다.
AWT는 악명 높게 싱글 스레드가 아니며 모든 곳에서 동기화되었습니다. 디자인 할 때 실제로는 달성 할 수 없지만 여러 스레드에서 작동 할 수있는 아이디어가있었습니다. – bestsss
내 GUI 클래스가 actionListener 여야한다는 말입니까? 현재 나는 actionperformed에서 이미지를 변경할 다른 액션 리스너 클래스를 만들었습니다. 단추를 토글하는 별도의 스레드. 그러나 어떤 순간에는 실행 메소드와 수행 된 액션이 모두 동일한 버튼 객체를 공유하게됩니다. @bestsss – Ajak6
@ AmeyJain, 그렇지 않습니다. 하나의 실을 고집하십시오. – bestsss
- 1. 동기화가 필요합니까?
- 2. onSensorChanged (...)에 동기화가 필요합니까?
- 3. 다음과 같은 상황에서 UI 스레드
- 4. 여기서 동기화가 필요합니까?
- 5. 명시 적 동기화가 필요합니까?
- 6. 파이썬 사전에 동기화가 필요합니까?
- 7. 다음과 같은 상황에서 innertHTML을 사용하는 방법
- 8. ActiveX 컨트롤에 스레드 동기화가 필요합니까?
- 9. FinalConstruct()/FinalRelease() 내부에 동기화가 필요합니까?
- 10. 이 상황에서 컨트롤러가 필요합니까?
- 11. 왜이 상황에서 캐스트가 필요합니까?
- 12. 왜 이런 상황에서 componentWillReceiveProps가 필요합니까?
- 13. ehcache를 사용할 때 어떤 동기화가 필요합니까?
- 14. 멀티 스레드 GAE 애플리케이션에 동기화가 필요합니까?
- 15. MySQL :이 상황에서 인덱스가 필요합니까?
- 16. 단방향 패킷 지연 측정 : 모든 동기화가 필요합니까?
- 17. 이 코드에는 어떤 종류의 동기화가 필요합니까?
- 18. 복제본의 mongodb 노드가 시간 동기화가 필요합니까?
- 19. 개체가 여러 스레드에 의해서만 읽혀지며 동기화가 필요합니까?
- 20. 자바에서 정적 메소드에 동시 액세스하려면 동기화가 필요합니까?
- 21. ApplicationScoped Bean에서 RequestContext에 액세스하려면 동기화가 필요합니까?
- 22. JPA 엔티티의 일시적인 필드에서 동시 동기화가 필요합니까?
- 23. 다음과 같은 상황에서 SQL 데이터베이스에 테이블을 만드는 방법은 무엇입니까?
- 24. 은 위의 다음과 같은 상황에서 중첩 된 루프에 의해
- 25. 어느 정도까지 C# System.Guid.NewGuid()는 다음과 같은 상황에서 안전합니까?
- 26. 안드로이드 : 다음과 같은 상황에서 HTML 내에서 CSS 파일을 참조하는 방법
- 27. grails에서 다음과 같은 상황에서 어떻게 버튼을 사용할 수 있습니까?
- 28. Silverlight -이 상황에서 종속 속성이 필요합니까?
- 29. 모든 키가 고유 한 경우 맵의 put에 동기화가 필요합니까?
달성하려면 어떻게해야합니까? – Ajak6