C# 개발자입니다. 설명하려니 생각보다 어렵네요.. 그치만 최대한 열심히 설명해 보겠습니다.ㅠㅠ 도와주세요..
일단 지금 제가 보고 있는 프로그램은 주 프로세스가 하나있고, 주 프로세스에서 생성한 프로세스가 한 개 더 있습니다.
주 프로세스에서 쓰레드를 하나 생성하고 그 쓰레드 안에서 나머지 프로세스와 주 프로세스가 IPS 통신을 하는 방식인데요.
나머지 프로세스에서 파일 생성이 완료되면 파일에 대한 정보를 주 프로세스에 보내고, 주 프로세스가 그 파일에 대한 정보를 리스트에 집어넣어야 합니다.
주 프로세스가 정보를 받아오는 것 까지는 문제가 없습니다. 정보를 리스트에 넣는 기능이 Dispatcher.BeginInvoke 안에 구현되어 있는데, 문제는 이게 두 번 실행되서 리스트 안에 두번 들어갑니다.
평소에는 문제가 없는데, 윈도우 환경이 불안정 하거나 디버그 모드에서 Dispatcher.BeginInvoke 안에 break point를 걸었을 때 이런 문제가 발생하네요. thread 관련 문제인 것 같긴 한데 정확한 이유를 모르겠네요..쓰레드는 한 번만 만들어지고, 주 프로세스의 쓰레드 내부 외는 다른 데서 호출되는 것도 없습니다.. 어디서부터 접근해야 할까요?