java多线程 -- 创建线程的第三者方式 实现Callable接口
生活随笔
收集整理的這篇文章主要介紹了
java多线程 -- 创建线程的第三者方式 实现Callable接口
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java 5.0 在 java.util.concurrent 提供了一個新的創建執行線程的方式:Callable 接口
Callable 接口類似于 Runnable,兩者都是為那些其實例可能被另一個線程執行的類設計的。但是 Runnable 不會返回結果,并且無法拋出經過檢查的異常。
Callable 需要依賴FutureTask ,FutureTask 也可以用作閉鎖。
例子:
package com.company;import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask;/*** Created by MSI1 on 2017/3/30.*/ public class TestCallableDemo {public static void main(String[] args) {try {DemoThread demoThread = new DemoThread();FutureTask<Integer> integerFutureTask = new FutureTask<>(demoThread);new Thread(integerFutureTask).start();Integer result = integerFutureTask.get();System.out.println("result = " + result);} catch (InterruptedException e) {e.printStackTrace();} catch (ExecutionException e) {e.printStackTrace();}} }class DemoThread implements Callable<Integer> {@Overridepublic Integer call() throws Exception {int sum = 0;for (int i = 0; i <= 100; i++) {sum = sum + i;}return sum;} }結果:
result = 5050?
總結
以上是生活随笔為你收集整理的java多线程 -- 创建线程的第三者方式 实现Callable接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10系列:UWP界面布局基础4
- 下一篇: 《剑指offer》-斐波那契数列