Programming/C/C++/C#
C# - 스레드를 이용한 외부 데이터 받기(With Tread)
휘탱
2017. 7. 11. 02:27
스레드를 이용한 외부 데이터 받기(With Tread)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | private void button1_Click(object sender, EventArgs e) { receThread = new Thread(ReceiveData); receThread.Start(); } void ReceiveData() { while(IsRun) { Thread.Sleep(1); foreach(var proc in Process.GetProcesses()) { if (proc.ProcessName.ToString() != "SendData") continue; IsRun = false; label1.Text = "데이터 받기 : " + SendData.Form1. } } receThread.Abort(); } | cs |
- F5로 실행하면 크로스 스레드 예외 상황이 발생함.
주 스레드와 작업자 스레드가 별개로 수행되는 구조로 되어 있다.
따라서 작업자 스레드에서 주 스레드에 인터페이스 디자인을 위해 정의되어 있는
윈도우 컨트롤에 직접적으로 접근하면 크로스 스레드 에러가 발생한다.
- Ctrl + F5 실행시 접근하여 얻어옴.
반응형