`

用Callable接口实现多线程

    博客分类:
  • Java
 
阅读更多
package com.threeKindThreads;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.FutureTask;

public class TestCallableThread implements Callable<Integer>{

	
	private int i;
	@Override
	public Integer call() throws Exception {
		// TODO Auto-generated method stub
		for(; i<100; i++) {
			System.out.println(Thread.currentThread() + " " + i);
		}
		return i;
	}

	public static void main(String[] args) {
		
		TestCallableThread thread = new TestCallableThread();
		FutureTask<Integer> task1 = new FutureTask<Integer>(thread);
		FutureTask<Integer> task2 = new FutureTask<Integer>(thread);
		
		for(int i=0; i<100; i++) {
			System.out.println(Thread.currentThread().getName() + " " + i);
			
			if(i == 20) {
				new Thread(task1, "Thread1 with return value").start();
				new Thread(task2, "Thread2 with return value").start();
			}
		}
		
		try {
			System.out.println("return value = " + task1.get());
		} catch (InterruptedException e) {
			e.printStackTrace();
		} catch (ExecutionException e) {
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    详解Java Callable接口实现多线程的方式

    主要介绍了详解Java Callable接口实现多线程的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java多线程实现Callable接口

    本文给大家分享的是使用Java多线程来实现callable接口的方法,以及使用方法,另外还有一个网友的实例,希望能够对大家掌握Java多线程有所帮助。

    Java多线程Callable接口

    Runnable是执行工作的独立任务,但是它不返回任何值,如果你希望任务在完成时能够返回一个值,那么可以实现Callable接口而不是Runnable接口。在Java SE5中引入的Callable是一种具有类型参数的泛型,它的类型参数表示...

    计算机后端-Java-Java核心基础-第20章 多线程 18. 创建多线程的方式三:实现Callable接口.avi

    计算机后端-Java-Java核心基础-第20章 多线程 18. 创建多线程的方式三:实现Callable接

    Java多线程Callable接口实现代码示例

    相信大家对Java编程中如何创建线程已经不陌生了,这篇文章就向朋友们介绍实现callable接口,具体实例详见正文。

    Java多线程之Callable接口的实现

    主要介绍了Java多线程之Callable接口的实现,Callable和Runnbale一样代表着任务,区别在于Callable有返回值并且可以抛出异常。感兴趣的小伙伴们可以参考一下

    多线程机制

    多线程机制 1 1、 Runnable接口与Thread类 1 2、 两个创建线程方法的比较 3 3、 几个常用的改变线程状态的方法 3 4、 线程的同步机制 8 ...10、 Callable结合FutureTask的多线程使用(免打扰模式) 24

    突破JAVA万人面试,懂多线程者得天下.zip

    06线程创建实现 Callable接口avi 07线程创建线程池创建线程avi 08线程创建小结av 09线程生命周期avi 10.线程安全问题什么是线程安全avi 11线程安全同题问题分析avi 12线程安全问题线程安全问题演示avi ................

    多线程例子

    在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口.(其实准确来讲,应该有三种,还有一种是实现Callable接口,并与Future、线程池结合使用,此文这里不讲这个。

    java多线程学习

    java多线程学习,常见实现线程的方式,继承Thread类,实现Runnable接口,实现Callable接口

    Java实现多线程的方法总结

    java 实现多线程的三种方法  在java中,有三种方法可以实现多线程。第一种方法:继承Thread类,重写run函数。第二种方法:实现Runnable接口,重写run函数。第三种方法:实现Callable接口,重写call函数。本文章将...

    多线程学习笔记.docx

    包括线程和进程的关系,线程的三种创建方式,继承thread,实现runnable接口,实现callable接口,线程同步,生产者消费者模式

    java多线程Future和Callable类示例分享

    JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们...

    Java多线程实现四种方式原理详解

    1.继承Thread类,重写run方法 ...后面两种可以归结成一类:有返回值,通过Callable接口,就要实现call方法,这个方法的返回值是Object,所以返回的结果可以放在Object对象中 1. 继承Thread类 public class Thread

    Java 实现多线程的几种方式汇总

    JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。

    Java多线程详解

    文章目录1、进程与线程2、创建多线程2.1、继承Thread类2.2、实现Runnable接口2.3、使用匿名内部类实现2.4、实现Runnable接口的好处2.5、使用Callable和Future创建线程3、线程的生命周期4、几种特殊线程4.1、join线程...

    讲给女朋友听的java多线程(2万字深入理解多线程,有实例代码辅助理解)

    实现Callable接口4. 使用线程池线程的调度线程的生命周期线程同步1. 方法一:同步代码块2. 方法二:同步方法3. 方法三:Lock(锁):4. 对比三种方法5. 典型例题6. 线程死锁问题线程通信两个方法sleep()方法和wait()...

    BAT面试官有点懵系列,Java多线程你真的理解透彻了吗?带你玩转一次多线程!Let’s go!别再out了!

    文章目录神标题引入线程和进程多线程的优势线程创建方式继承Thread类来创建和启动实现Runnable接口重写run方法创建线程类使用 Callable 和 Future 创建线程三种创建线程方式做出对比线程生命周期线程控制join线程...

    详细解读JAVA多线程实现的三种方式

    本篇文章主要介绍了详细解读JAVA多线程实现的三种方式,主要包括继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。有需要的可以了解一下。

    【多线程高并发编程】三 Callable源码分析

    程序猿学社的GitHub,欢迎Star ...本文已记录到github,形成...源码分析2.1 第一步,实现Callable接口2.2 FutureTask类结构图2.3 RunableFuture接口2.4 Runnable接口2.5 Future接口2.6 FutureTask源码分析后记 前言 通过上

Global site tag (gtag.js) - Google Analytics