次はあなたが理解できるスレッドを作成するには、いくつかの方法で、深展開されていないが、概説します。
まず、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);
}
}
}
复制代码
第三に、呼び出し可能インターフェースを達成するために
トラフィッククラスは、戻り値、戻り値が実行可能でないから2の間の呼び出し可能な差が行われた呼び出し可能インターフェース又は、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;
}
}
复制代码
四、エグゼキュータービル
トラフィッククラスは、戻り値、戻り値が実行可能でないから2の間の呼び出し可能な差が行われた呼び出し可能インターフェース又は、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/
マイクロチャンネル公共数: