`
j1a1v1a1
  • 浏览: 29703 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Java带返回值的线程

 
阅读更多
以前经常被这些东西头疼,现在终于有带返回值的线程啦 先高兴一下 呵呵

大致说明一下,还请各位大侠多多指点 。有需要可以直接联系我

通过返回值来实现程序自动化 自动排单

public class MyCallable implements Callable{
public MyCallable(String checkid,String type)
{
  this.checkid = checkid;
  this.type = type;
}

/**
  * 用锁机制 来实现线程独享
  */
public synchronized HashMap showData() throws BOSException
{
  HashMap mapcol = new HashMap();

  。。。。。。代码太多 暂时省区
    return mapcol;
}

//重写方法 得到返回值
public Object call() throws Exception {
  // TODO Auto-generated method stub

   //用锁机制实现数据专用 showdate方法

  HashMap mapcol = showData();
  return mapcol;
}

}



实现方法; 这是测试

  publicclass Test {
        publicstaticvoid main(String[] args) throws ExecutionException, InterruptedException {
                //创建一个线程池
                ExecutorService pool = Executors.newFixedThreadPool(2);
                //创建两个有返回值的任务
                Callable c1 = new MyCallable("A","C");
                Callable c2 = new MyCallable("B","D");
                //执行任务并获取Future对象
                Future f1 = pool.submit(c1);
                Future f2 = pool.submit(c2);
                //从Future对象上获取任务的返回值,并输出到控制台
                System.out.println(">>>"+f1.get().toString());
                System.out.println(">>>"+f2.get().toString());
                //关闭线程池
                pool.shutdown();
        }
}

0
0
分享到:
评论

相关推荐

    在Java 线程中返回值的用法

    NULL 博文链接:https://icgemu.iteye.com/blog/467848

    有返回值的线程

    线程通常用于执行异步任务,而当我们需要这些任务执行的结果时,就需要用到带返回值的线程机制。Java语言中,可以通过实现`Callable`接口或使用`Future`、`ExecutorService`来实现这一功能。 在Java中,`Thread`类...

    Java多线程编程总结

    Java线程:新特征-有返回值的线程 Java线程:新特征-锁(上) Java线程:新特征-锁(下) Java线程:新特征-信号量 Java线程:新特征-阻塞队列 Java线程:新特征-阻塞栈 Java线程:新特征-条件变量 Java线程:新特征...

    java多线程处理数据库数据

    在Java编程中,多线程处理是提升程序性能和效率的重要手段,特别是在处理大量数据库数据时。本主题将深入探讨如何使用Java的并发包(java.util.concurrent)来实现多线程对数据库数据的批量处理,包括增、删、改等...

    Java多线程编程经验

    #### 十三、Java线程:新特征-有返回值的线程 Java 5 引入了 `java.util.concurrent` 包,提供了 `Callable` 和 `Future` 接口,允许线程执行后返回结果。 #### 十四、Java线程:新特征-锁(上) Java 5 还引入了...

    Java Thread多线程全面解析

    除了上述创建线程的方式,Java还提供了Callable和Future接口,用于创建带返回值的线程,以及ExecutorService和ThreadPoolExecutor等高级线程管理工具,以更灵活地控制线程的执行和管理。 在实际开发中,理解和掌握...

    java线程详解

    Java线程:新特征-有返回值的线程 Java线程:新特征-锁(上) Java线程:新特征-阻塞队列 Java线程:新特征-阻塞栈 Java线程:新特征-条件变量 Java线程:新特征-原子量 Java线程:新特征-障碍器 Java线程:...

    java多线程编程总结

    - **有返回值的线程** 通过 `Callable` 接口和 `Future` 类可以创建能够返回结果的线程。 - **锁** `ReentrantLock`、`ReadWriteLock` 等高级锁机制提供更灵活的锁定策略。 - **信号量** 通过 `Semaphore` 类...

    Java_多线程编程线程:大总结

    - **有返回值的线程**:通过`Callable`和`Future`实现线程的返回值,提供了更灵活的异步编程模型。 - **锁**:高级锁机制如`ReentrantLock`,提供了比`synchronized`更灵活的锁定策略。 - **信号量**:控制对有限...

    JAVA多线程教材

    7. **Future与Callable接口**:Future接口代表异步计算的结果,而Callable接口允许线程返回一个结果,与Runnable相比增加了返回值的能力,常与ExecutorService结合使用。 8. **线程安全与线程不安全**:理解哪些...

    java线程实例 各种小Demo

    这种方式适合需要返回值的多线程场景。 二、线程状态与控制 Java线程有五种状态:新建、可运行、运行、阻塞和终止。可以通过Thread类的getState()方法查看线程状态。线程的控制包括: - sleep():使当前线程进入...

    Java-多线程教学文档

    Java 5及以后版本引入了更多的并发工具,如线程池、Future和Callable接口支持有返回值的线程,锁的高级形式如读写锁、可重入锁,还有Semaphore(信号量)、BlockingQueue(阻塞队列)、BlockingStack(阻塞栈)、...

    Java多线程的经典资料.rar

    10. **Future和Callable接口**:`Future`接口代表异步计算的结果,而`Callable`接口允许我们定义一个带有返回值的可调用任务,它们是`ExecutorService`的一部分,用于处理异步任务。 通过这份“Java线程.pdf”文档...

    java 多线程

    ### Java多线程知识点详解 #### 一、Java Thread 概念 在Java中,**线程**是一种轻量级的进程,它是程序执行流的最小单元。一个标准的Java应用通常至少包含一个线程,即主(Main)线程。Java支持多线程编程,这...

    Java使用Callable和Future创建线程操作示例

    "Java使用Callable和Future创建线程操作示例" Java使用Callable和Future创建线程操作示例主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作...

    Java多线程教程资料(强烈推荐).docx

    Java 中的多线程新特征包括 volatile 关键字、信号量、阻塞队列、条件变量、线程池、有返回值的线程等。volatile 关键字可以用于变量的同步,信号量可以用于线程之间的通信,阻塞队列可以用于线程之间的数据传递,...

    JAVA多线程总结

    2. **有返回值的线程**:`Future`和`Callable`接口组合实现。 3. **锁**:`java.util.concurrent.locks`包提供了更灵活的锁机制,如读写锁、条件变量等。 4. **原子量**:`Atomic`类提供原子操作,确保多线程环境下...

    Java多线程结构_Java多线程结构_

    Java多线程结构是Java编程中的重要组成部分,它允许程序同时执行多个任务,提升系统效率。在Java中,实现多线程主要有两种方式:继承Thread类和实现Runnable接口。 1. 继承Thread类: 当自定义类继承Thread类时,...

Global site tag (gtag.js) - Google Analytics