2009-11-08 7 views
-1

나는 (나를 위해) 매우 이상한 문제에 직면했다. 내 응용 프로그램에서 시작 버튼을 누르면 모든 스레드가 활성화되고, 중지 버튼을 누르면 모든 스레드가 중단되고 모든 콜렉션이 지워집니다. 다른 스레드는 자체 스레드를 가지고 있거나 스레드 풀을 통해 실행되는 반면 이것은 주 스레드에서 모두 발생합니다. 그러나 오늘은 ReaderWriterLock을 ReaderWriterLockSlim로 대체했으며 드물게 "STOP"버튼을 누르면 앱이 멈 춥니 다. Break를 사용하면 coed가 this.someobject.TryEnterWriteLock (-1) 줄에 걸려 있음을 볼 수 있습니다. 세부 정보를 표시 할 때 변수는 모두 다음 메시지로 채워집니다.메시지 "현재 스레드가 잠자기 상태입니다. 잠깐 기다리거나 가입하십시오"- 잠금?

"Can not .... 현재 스레드 대기 상태에 있거나 대기 상태에 있습니다. "

나는 그것을 이해하지 못합니다 - 그것의 주요 응용 프로그램 스레드입니다. 조언을 구하는 것보다 직접적인 대답을 기대하지 않습니다. 전에 보지 못했던이 메시지. 감사합니다.

+0

일부 코드 샘플을 게시하십시오. –

답변

0

메시지와 혼동하지 마세요. 디버거가 값에 액세스 할 수 없기 때문에 메인 스레드가 잠겨 있습니다. 왜 그것이 잠겨 있는지 - 코드가 없다는 말은 없습니다.

그런데 앱의 다른 스레드를 보려고 했습니까?

+0

하지만 ... 나는 주 스레드에 잠금이 없습니다. 이 메소드는 다른 스레드에서 실행되며 현재 스레드와 관련된 메시지를 묻는 이유입니다. – Thomas

관련 문제