스레드를 사용하는 시나리오가 있습니다.Java에서 다중 스레드 풀을 구현하는 방법
먼저 자주 업데이트되는 파일이있는 폴더가 있습니다. 그래서 폴더의 내용을 읽고 파일 이름을 정적 목록에 쓰고 새 파일이 들어오는 경우 목록을 업데이트하는 스레드를 작성했습니다.
두 번째로 목록에서 파일 이름을 사용하는 다른 스레드를 작성했습니다 파일을 사용하여 일부 처리를 수행하십시오.
이 두 스레드는 연속적으로 실행됩니다. 하나는 새 파일을 검사하고 다른 하나는 새 파일을 검사합니다.
이제 3 개의 스레드를 실행하면서 한 번에 3 개의 파일을 처리해야합니다. 한 스레드가 처리를 완료하면 다른 스레드는 목록에서 다른 파일 이름을 가져 와서 프로세스를 시작합니다.
그래서 세 개의 스레드를 가지고 있으며 스레드가 살아 있는지 여부를 확인하고 이에 따라 새 스레드를 시작하고 파일 목록도 자주 업데이트되는 메커니즘이 필요합니다.
나는 또한 ExecutorService
을 조사했지만 목록이 업데이트되는 동안 업데이트 된 목록을 제공하지 못했습니다.
감사합니다, 하기 Sandeep
별로 명확하지 않지만 걱정됩니다. 왜 3이고, 임의의 숫자가 아닌가? 스레드가 살아 있는지 확인해야하는 이유는 무엇입니까? –
필자는 추가 할 예정이었습니다. 사용할 자연스러운 데이터 구조가 대기열 (http://download.oracle.com/javase/6/docs/api/java/util/Queue.html) 인 것 같습니다. 이를 이용하려면 대기열에서 항목을 가져 와서 작업을 수행하는 소비자 스레드가 있어야합니다. –