(가) 없습니다 심도 확장 스레드를 만들 수있는 몇 가지 방법을 설명한 다음, 당신은 이해할 수있다.
첫째, Runnable를 구현
1. 비즈니스 클래스의 Runnable 인터페이스를 구현
2.Thread 주입 트래픽 클래스 유형을하고 시작하는
다음과 같은 코드가 있습니다 :
public class RunnableDemo {
public static void main(String[] args) {
//Thread构造器注入实现类并启动
new Thread(new RunnableWorker()).start();
}
}
//实现Runnable接口
class RunnableWorker implements Runnable {
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
复制代码
둘째, Thread 클래스 상속
비즈니스 클래스 상속 스레드는 스레드는 방법으로 직접 실행할 수 있습니다. 다음과 같이 코드입니다 :
public class ThreadDemo extends Thread {
public static void main(String[] args) {
new ThreadDemo().start();
}
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
}
复制代码
셋째, 호출 인터페이스를 달성하기 위해
트래픽 클래스는 호출 인터페이스 또는 두 개의 반환 값 후에 수행 사이의 Runnable 인터페이스 호출 가능 차이를 구현할 수 리턴 값의 Runnable 아니다.
다음과 같이 코드입니다 :
public class FutureDemo {
public static void main(String[] args) {
FutureTask<Integer> task = new FutureTask(new CallableWorker());
new Thread(task).start();
try {
System.out.println(task.get());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
class CallableWorker implements Callable<Integer> {
public Integer call() throws Exception {
return 10;
}
}
复制代码
네, 실행자 건물
트래픽 클래스는 호출 인터페이스 또는 두 개의 반환 값 후에 수행 사이의 Runnable 인터페이스 호출 가능 차이를 구현할 수 리턴 값의 Runnable 아니다.
다음과 같이 코드입니다 :
public class ExecutorsDemo {
public static void main(String[] args) throws ExecutionException, InterruptedException {
//创建线程池
ExecutorService executorService = Executors.newFixedThreadPool(1);
//提交匿名Callable
Future<Integer> future = executorService.submit(new Callable<Integer>() {
public Integer call() throws Exception {
return 10;
}
});
//获取线程执行返回值
System.out.println(future.get());
}
}
复制代码
종료.
사이트 : javashizhan.com/
마이크로 채널 대중 번호 :