오늘 아침에 제 동료 중 한 사람이 이상한 코드를 보았습니다. winforms 응용 프로그램에서 전체 Mainform은 참조로 스레드에 제공되었습니다. 그는 폼에서 메서드를 호출하기 위해이 작업을 수행했습니다. UI와 상호 작용할 수있는 것은 없으며 단순한 계산 방법입니다. 나는 이것이 최선의 방법은 아니지만 뭔가 궁금해한다. 스레드에서 Mainform의 메서드를 호출하면 이러한 메서드가 여전히 다중 스레드로 처리됩니까? 아니면 Mainform 내부에서 실행합니까? 스레드에서 Mainfrom의 메서드를 호출 할 때 UI 스레드가 영향을 받습니까?Winforms 다중 스레드 시나리오 질문
2
A
답변
5
다른 스레드에서 호출 된 양식의 함수는 스레드를 호출하는 스레드에서 실행되며 GUI 스레드에는 영향을 미치지 않습니다. 부작용으로 이것은 GUI와 상호 작용하는 함수를 호출하면 예외가 발생한다는 것을 의미합니다.
GUI 스레드에서 호출하려는 경우 가장 쉬운 방법은 Control.Invoke(...)
을 호출하여 전달한 대리인이 GUI 스레드에서 실행되도록하여 GUI 상호 작용을 허용하는 것입니다.
관련 문제
- 1. 간단한 다중 스레드 질문
- 2. C# 다중 스레드 개념 질문
- 3. WinForms 멀티 스레드 데이터 바인딩 시나리오, 모범 사례?
- 4. 스레드 주문 서비스 시나리오
- 5. pthread 스레드 풀 시나리오
- 6. 다중 스레드 구성 요소 설계 질문
- 7. 다중 포트를위한 다중 스레드?
- 8. NHibernate 매핑 질문 - 기괴한 시나리오
- 9. 다중 스레드 #
- 10. 어떻게 다중 UI 스레드 윈폼 응용 프로그램
- 11. WinForms 다중 선택
- 12. ScheduledExecutorService 병렬 다중 스레드
- 13. 다중 스레드 다중 클라이언트 프로그래밍
- 14. 대기 스레드 질문
- 15. 오라클의 다중 사용자/커밋 시나리오 별 dml
- 16. WinForms DataGridView 질문
- 17. WinForms 성능 질문
- 18. VB.NET WinForms ListView 질문
- 19. Winforms/ActiveX 크로스 스레드 통화
- 20. 크로스 스레드 Winforms 컨트롤 편집
- 21. .NET 다중 스레드 싱크ronronization
- 22. 다중 스레드 JDBC
- 23. JDBC 연결의 다중 스레드
- 24. OpenCV 다중 스레드 호출
- 25. 다중 스레드 NSDocument 종료
- 26. WCF 다중 스레드 호출
- 27. Eclipse에서 다중 스레드 디버그
- 28. VB에서 다중 스레드 ObservableCollection
- 29. Java에서 다중 스레드 구현
- 30. 다중 스레드 및 GDB
알아! 알아! 내가 아니 었어! – TalkingCode