C# - 크로스 스레드 작업이 잘못 되었습니다.
.Net Framework 2.0기반에서 Windows Forms UI 개발을 하다보면 '크로스 스레드 작업이 잘못되었습니다. '...'컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스되었습니다.' 라는 에러를 간혹 만나게 되는데요. 이 에러는 왜 나는 것일까요? 이 에러는 Windows Forms개발 환경에서 특정 컨트롤에 대해 두개 이상의 스레드가 액세스 하려고 할 경우에 발생됩니다. 즉, 두 개 이상의 스레드가 해당 컨트롤에 동시 접근해서 뭔가를 하려고 하게 되면 경합 상태, 교착 상태 등의 뒤죽박죽 상태가 되어 스레드 관련 버그가 발생할 가능성이 생기게 됩니다. 이에 .Net Framework에서는 이런 상황을 관찰하고 있다가 앗! 여러 스레드가 한 컨트롤을 동시에 괴롭힐려고 하네?라고 감..
컴퓨터 언어/C#
2017. 12. 30. 14:47