2013-06-07 6 views
2

프로세스가 완료되지 않을 경우, 이 붙은 경우 ... 어떻게 을 실현하고 종료 할 수 있습니까?java에서 프로세스를 종료하는 방법은 무엇입니까?

는 내가 파일을 처리 수백만의 각 파일 프로세스를 얻기 위해 몇 초 정도 걸립니다 소프트웨어 일하고 있지만, 일부 파일을 처리하는 동안 stucked 수

, 난 **

가 해당 파일을 건너 뛰려면 .

** 어떻게하면됩니까 ??

세부 정보 :

파일 먼저 구문 분석 ------> 다음은 ---------> 트리플가

일부를 .tpl 이후에 파일을 .adv로 변환됩니다 .adv 파일을 생성하는 동안 파일이 고착됩니다.

+0

시간 초과를 사용해 볼 수 있습니다. –

+0

타이머 클래스를 사용해 보았지만 자체 실행 시간을 소비하므로 결국 CPU 오버 헤드가 증가합니다. –

+0

당신은 특정 스레드에 대한 시간으로 카운트 값을 설정할 수 있습니다. 그 시간 == 원하는 값이면 해당 스레드를 종료하십시오. – anshulkatta

답변

1

하나의 파일을 건너 뛰기 전에 어느 정도의 시간을 소비 할 것인지 결정하십시오. 시간 제한이있는 타이머를 설정하고 마지막 시간 이후 동일한 파일을 계속 업로드하는지 확인할 수 있습니다. 간단한 점검을 수행하는 하나의 타이머로 CPU 성능의 차이점을 많이 알아 채지 않아야합니다.

편집 :

fileTimer = new Timer(maxDelay, checkFile); 
fileTimer.start(); 
//set currentFile 


ActionListener checkFile = new ActionListener() { 
    String lastFile; 
    public void actionPerformed(ActionEvent e) { 
     if (this.lastFile == currentFile) 
      //terminate process 
     else 
      lastFile = currentFile 
    } 

} 

나는 프로세스를 종료하는 방법을 아주 확실하지 않다. 나는 멀티 스레딩에 익숙하지 않다. 그 @anshulkatta에 어떤 아이디어?

+0

좋은 답변, 약간의 정교함, 프로그램 적으로 예제 – anshulkatta

+0

ur 답변을 추가하고 편집하십시오 – anshulkatta

관련 문제