계속 DB 작업을 계속 실행하는 스레드를 시작해야하는 곳에서 스레드 스레딩 요구 사항이 있습니다. 30 초마다 실행해야하는 두 번째 스레드가 있습니다. 두 번째 스레드의 작업은 첫 번째 스레드를 죽이고 첫 번째 스레드의 새 인스턴스를 시작합니다.동시에 실행중인 스레드
나는 이것을 달성하기 위해 몇 가지 방법을 시도했지만 같은 것을 할 수는 없습니다.
public class ThreadMain {
public static void main(String[] args) throws InterruptedException, BrokenBarrierException{
final CyclicBarrier gate = new CyclicBarrier(3);
Thread t1 = new Thread(){
public void run(){
try {
gate.await();
while(true)
{
System.out.println("Thread1");
break;
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BrokenBarrierException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}};
Thread t2 = new Thread(){
public void run(){
try {
gate.await();
while(true)
{
System.out.println("Continiously running thread:-Thread2");
}
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BrokenBarrierException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}};
t1.start();
t2.start();
당신의 시도를 보여줄 수 있습니까? –
여러 가지 방법 중 하나를 시도해 보셨습니까? – Sanjeev
안녕하세요, 위의 코드를 추가했습니다. 하지만 여기는 두 번째 스레드를 지속적으로 실행하고 있습니다 .O/P "Continiously running thread : -Thread2"입니다. 왜 첫 번째 스레드 출력이 표시되지 않는지 알지 못합니다. – RanjanPradhan