2013-03-28 3 views
0

TaskThread이라는 스레드 개체를 사용하여 특정 작업 (실제로는 TimerTasks)을 실행합니다. 모든 타이머 작업은 하나의 스레드에서만 실행됩니다. 내 프로그램의 사용자는 언제든지이 스레드를 중단시킬 수 있습니다. 인터럽트가 발생하면 메서드이 실행되고 TaskThread메서드이 완료된 후에 만 ​​재개 할 수 있습니다.작업이 발생하면 스레드를 인터럽트 한 다음 다시 시작하십시오.

Java에서이 작업을 수행 할 수 있습니까?

+0

있는지 확인합니다. 대신 [Producer-consumer] (http://en.wikipedia.org/wiki/Producer-consumer_problem) 모델을 사용하십시오. –

+3

다른 스레드를 사용하여 동시 작업을 수행합니다. –

+0

@ PeterLawrey - 예. 내 문제는 실제로 생산자 - 소비자 모델을 필요로하지 않는다. 나는 모든 스레드를 실행하는 하나의 스레드 외에 다른 스레드를 사용하여 동시 작업을 수행 할 수 있습니다. –

답변

1

스레드를 인터럽트 할 수는 없지만 스레드는 주기적으로 조건을 확인하고 부울 플래그를 입력 한 다음 조치를 취할 수 있습니다.

는 플래그가 스레드를 중단하는 것은 일반적으로 좋은 생각이 아니다 volatile .`

관련 문제