가짜 상황 : 클래스가 있습니다 (예 : BackgroundMagic
). Start()
및 Stop()
개의 메소드가 있습니다. 이 클래스의 작업은 하나의 스레드에 의해 수행되며 X 밀리 초마다 짧은 루프입니다.스레드를 유휴 상태로 유지하거나 죽이거나 다시 시작 하시겠습니까?
중단/시작을 관리하는 데있어 다음 중 더 나은 옵션은 무엇입니까? 어떤 도로를 가져갈 지 결정할 수 없습니다.
- 처음으로 Start()가 호출되면
IsBackground
= true로 스레드를 초기화하고 시작하십시오. 단순한 bool 플래그를 사용하여 각 루프에서 실제로 작업을 수행할지, 아니면 잠자기 상태로 할지를 지정하십시오. 초기 초기화 후 Stop() 및 Start()가 bool 플래그를 제어하게합니다. 스레드는 응용 프로그램이 종료 될 때IsBackground
= true가되기 때문에 런타임에 의해 중지되고 정리됩니다. - 의 정지시 강제로 중단/결합/중단하고 스레드를 다시 놓아 두지 않고 Start()에서 스레드를 다시 재생성하십시오.
... 또는이 작업을 수행하는 데있어 더 좋고/더 좋은 방법은 무엇입니까?