callable接口的多线程实现方式

package com.cxy.juc;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;
class  MyThread implements Callable<Integer> {

    @Override
    public Integer call() throws Exception {
        return 1024;
    }
}
public class CallableDemo {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        FutureTask<Integer> futureTask =new FutureTask(new MyThread());

        new Thread(futureTask,"a").start();

        Integer reslut =futureTask.get();
        System.out.println(reslut);
    }
}

原文地址:https://www.cnblogs.com/xiufengchen/p/11665813.html

时间: 2024-10-11 08:06:47

callable接口的多线程实现方式的相关文章

Java总结(十一)——通过Callable接口实现多线程,生产者消费者问题,多线下载(复制)文件

一.通过Callable接口实现多线程 1.Callable接口介绍: (1)java.util.concurrent.Callable是一个泛型接口,只有一个call()方法 (2)call()方法抛出异常Exception异常,且返回一个指定的泛型类对象 2.Callable接口实现多线程的应用场景 (1)当父线程想要获取子线程的运行结果时 3.使用Callable接口实现多线程的步骤 (1)第一步:创建Callable子类的实例化对象 (2)第二步:创建FutureTask对象,并将Cal

java多线程 -- 创建线程的第三者方式 实现Callable接口

Java 5.0 在 java.util.concurrent 提供了一个新的创建执行线程的方式:Callable 接口Callable 接口类似于 Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的.但是 Runnable 不会返回结果,并且无法抛出经过检查的异常.Callable 需要依赖FutureTask ,FutureTask 也可以用作闭锁. 例子: package com.company; import java.util.concurrent.Callable;

Java多线程和并发(四),线程返回值获取方式和Callable接口

目录 1.主线程等待法 2.使用Thread类的join()阻塞当前线程,等待子线程执行完毕 3.通过Callable接口实现:通过FutureTask Or线程池获取 四.线程返回值获取方式和Callable接口 1.主线程等待法 public class CycleWait implements Runnable{ private String value; @Override public void run() { try { Thread.currentThread().sleep(50

【多线程实现方案三:实现Callable 接口】

多线程实现的方式三: A:创建一个线程池对象,控制要创建几个线程对象. public static ExecutorService newFixedThreadPool(int nThreads) B:做一个类实现Callable接口. C:调用如下方法即可 Future<?> submit(Runnable task) <T> Future<T> submit(Callable<T> task) D:我就要结束,可以吗? 可以. package com.t

多线程——实现Callable接口

前两篇博客(多线程--继承Thread类,多线程--实现Runnable接口 )介绍了java使用线程的两种方法,这篇博客继续介绍第三种方法--实现Callable接口. 先说一下Runnable和Callable的区别: 1.Callable规定的方法是call(),Runnable规定的方法是run(). 2.Callable的任务执行后可返回值,而Runnable的任务是不能返回值得 3.call方法可以抛出异常,run方法不可以 4.运行Callable任务可以拿到一个Future对象,

多线程实现方式---实现Runnable接口

一个类如果需要具备多线程的能力,也可以通过实现java.lang.Runnable接口进行实现.按照Java语言的语法,一个类可以实现任意多个接口,所以该种实现方式在实际实现时的通用性要比前面介绍的方式好一些. 使用实现Runnable接口实现多线程的示例代码如下: /** * 测试类 */ public class Test2 { public static void main(String[] args) { //创建对象 MyRunnable mr = new MyRunnable();

创建执行线程方式三:实现Callable接口

Callable接口 ① Java 5.0 在 java.util.concurrent 提供了一个新的创建执行 线程的方式:Callable 接口② Callable 接口类似于 Runnable,两者都是为那些其实例可 能被另一个线程执行的类设计的. 但是 Runnable 不会返 回结果,并且无法抛出经过检查的异常.③ Callable 需要依赖FutureTask ,FutureTask 也可以用作闭 锁 TestCallable package com.aff.juc; import

详解三种java实现多线程的方式

java中实现多线程的方法有两种:继承Thread类和实现runnable接口. 1.继承Thread类,重写父类run()方法 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public class thread1 extends Thread {    public void run() {        for (int i = 0; i < 10000; i++) {            System.out.println("我是线程"+

java多线程实现方式

一.什么是线程? 线程:程序中一个单一的顺序控制流程.进程内一个相对独立的.可调度的执行单元,是系统独立调度和分派CPU的基本单位. 多线程:单个程序中同时运行多个线程完成不同的工作,称为多线程. 特点: 1)轻量级的进程,程序运行流中可执行的最小单元,线程不拥有系统资源,多个线程共享进程拥有的资源. 2)一个线程可以创建另外一个线程,多个线程可以并发执行. 3)多个线程在系统运行中抢占资源,会出现间断性,我们看到的是并行执行,其实在有先后顺序的. 4)一个进程至少包含一个线程,即主线程. 二.