2013-07-08 3 views
4

Backgroundworkers를 사용하지 않는 이유는 UI가 멈추고 이해한다는 것입니다. 그런데 어떻게하면 커서가 몇 초 동 안 이동할 수 있습니까? 스레드가 무엇인지 또는 어떻게 작동하는지 확실하지 않지만 반드시 한 작업로드가 다른 스레드의 응답에 영향을주지 않습니다. 그리고 물론 윈도우 7 커서는 내 프로그램 (4237 또는 그와 같은 스레드)에서 실행되지 않습니다. 이 복잡한 또는 실행 가능한 이유가 있습니까 아니면 그냥 내 PC가 떨어지는거야?메인 UI 스레드가 정지되었을 때 왜 PC가 멈 춥니 까?

답변

1

프로세스는 CPU에서 실행되는 프로그램의 인스턴스입니다 (프로세스는 하나 이상의 스레드로 구성 될 수 있음). 쓰레드가 CPU를 소비하면 다른 프로세스는 '굶어 죽을 것이다'. 즉, 완료하기에 충분한 CPU 시간이 할당되지 않습니다. 스레드는 흥미로운 주제입니다. 더 자세한 정보는 위키피디아에서 쓰레드, 프로세스, 기아, 교착 상태를 검색하십시오. 더 알고 싶다면 운영 체제 개념에 대한 책을 읽어보십시오. 나는 Abraham Silberschatz의 운영체제 개념이 특히 유용하다는 것을 발견했다. (쉽게 pdf로 구할 수있다.)

+0

... 와우. 짧지 만 달콤한! 고맙습니다. –

+2

'커서를 몇 초간 움직일 수 없습니다.'- 우선 순위가 더 높은 스레드가 여러 개 있지 않는 한, 이것이 단일 코어 프로세서에서도 전체 내용이라는 것을 확신하지 못합니다. UI 스레드보다,이 일은 발생하지 않아야합니다. '몇 초'는 오래되었습니다. –

+0

@MartinJames 예 - 커서 고정이 내 스레드와 관련이 없다고 생각합니다. Visual Studio에서 디버깅 할 때 프로세스 번호가 약 4000-6000 ([6480] Process : MyApplication.vshost.exe)이며 이것이 정상이 아님을 상기합니다. –

관련 문제