精华内容
下载资源
问答
  • 主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项,需要的朋友可以参考下
  • callable_traits, callable类型的现代 C 型特征和泛函 Boost.CallableTraits CallableTraits是一个C 11头库,用于检查。合成和分解可以调用类型。这里有最新的文档,这里是 。在CallableTraits中,被正式地检查过,...
  • 主要介绍了java通过Callable和Future来接收线程池的执行结果,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Callable是类似于Runnable的接口,实现Callable接口的类和实现Runnable的类都是可被其它线程执行的任务
  • TypeError at / 'bool' object is not callable  编写函数如下: def index(request, pid=None, del_pass=None): if request.user.is_authenticated(): username = request.user.username useremail = request....
  • 主要介绍了多线程返回值使用示例(callable与futuretask),需要的朋友可以参考下
  • NULL 博文链接:https://pengqb.iteye.com/blog/738210
  • var isCallable = require ( 'is-callable' ) ; var assert = require ( 'assert' ) ; assert . notOk ( isCallable ( undefined ) ) ; assert . notOk ( isCallable ( null ) ) ; assert . notOk ( isCallable ( ...
  • 主要介绍了Java Callable接口实现细节详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Callable Callable与Future在Web应用中的优化案例
  • JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。今天我们...
  • callable() 描述 callable() 函数用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。 对于函数、方法、lambda 函式、 类以及实现了 `__...
  • 主要介绍了Django 错误:TypeError at / 'bool' object is not callable解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 本文实例讲述了Python callable()函数用法。分享给大家供大家参考,具体如下: python中的内建函数callable( ) ,可以检查一个对象是否是可调用的 。 对于函数, 方法, lambda 函数式, 类, 以及实现了 _ _call_ _ ...
  • 主要介绍了Java多线程Callable和Future接口区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Callable

    2018-03-05 07:25:46
    Callable  Thread和Rnnable接口都不允许声明检查类型异常,也不能定义返回值。  public void run()方法契约意味着必须捕获并处理检查型异常。即使小心地保存了异常信息以便以后检查,但也不能保证这个类的所有...

    Callable

      Thread和Rnnable接口都不允许声明检查类型异常,也不能定义返回值。
      public void run()方法契约意味着必须捕获并处理检查型异常。即使小心地保存了异常信息以便以后检查,但也不能保证这个类的所有使用者都读取异常信息。
      Callable与Runnable的区别在于:
    - Callable规定的方法是call(),而Runnable是run();
    - Callable的任务执行可返回值,而Runnable的任务不能有返回值;
    - call()方法可抛出异常,而run()不能抛出异常;
    - 运行Callable任务可拿到Futrue对象.

      Future对象是Callable任务返回的结果,Callable产生结果,future拿到结果。
      Future接口提供方法来检测任务是否被执行完,等待任务执行完获得结果。也可以设置任务执行的超时时间,这个设置超时的方法就是实现Java程序执行超时的关键。所以,如果需要设定代码执行的最长时间,即超时,可以用Java线程池ExecutorService类配合Future接口来实现。

    import java.util.Random;
    import java.util.concurrent.Callable;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    
    public class CallableTest1 {
        public static void main(String[] args) {
            //与线程池配合使用
            CallableDemo cd = new CallableDemo();
            ExecutorService executor = Executors.newSingleThreadExecutor();
            Future<Integer> result = executor.submit(cd);
            int i = 0;
            try {
                i = result.get();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(i);
        }
    }
    
    class CallableDemo implements Callable<Integer> {
        @Override
        public Integer call() throws Exception {
            // TODO Auto-generated method stub
            return new Random().nextInt(1000);
        }
    
    }

    Future

    ԈԈ在Future接口中声明了5个方法:
    - isCancelled方法表示任务是否被取消,如果正常被取消,则返回true;
    - isDone方法表示任务已经完成,若完成,返回true;
    - get方法获取执行结果,这个方法会产生阻塞,会一直等到任务执行完毕才返回;
    - get(long timeout, TimeUnit unit)用来获取执行结构,如果在指定时间内,还没获取到结果,就直接返回null。

     Ԉ也就是说Future提供了三个功能:
    1. 判断任务是否完成;
    2. 中断任务;
    3. 获取执行结果。

      Future只是一个接口,所以无法直接创建对象,因此有了实现类FutureTask。

    import java.util.Random;
    import java.util.concurrent.ExecutionException;
    import java.util.concurrent.ExecutorService;
    import java.util.concurrent.Executors;
    import java.util.concurrent.Future;
    import java.util.concurrent.FutureTask;
    
    public class FutureTaskRunnable {
        public static void main(String[] args) {
            ExecutorService executor = Executors.newSingleThreadExecutor();
    
            Future<String> result = executor.submit(new Runnable() {
                public void run() {
                    // TODO Auto-generated method stub
                    int i = new Random().nextInt(100);
                    System.out.println(i);
                }
    
            },"任务完成");
    
            FutureTask<String> future2 = new FutureTask<String>(new Runnable() {
                public void run() {
                    // TODO Auto-generated method stub
                    int i = new Random().nextInt(100);
                    System.out.println(i);
                }
    
            }, "任务完成");
    
    
            //FutureTask实现了Runnable接口,所以可以直接调用execute()方法执行。
            //executor.execute(future2);
            executor.submit(future2);
            String str = "str";
            try {
                str = future2.get();
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (ExecutionException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            System.out.println(str);
        }
    }
    展开全文
  • 详解php 使用Callable Closure强制指定回调类型 如果一个方法需要接受一个回调方法作为参数,我们可以这样写 <?php function testCallBack($callback){ call_user_func($callback); } function callback(){ ...
  •  面向小白学习法——Thread和Runnable,扩展Callable! Thread和Runnable的区别 (Callable扩展)  线程  Thread Runnable  扩展——Callable  面向小白学习法——Thread和Runnable,扩展Callable! Thread和...
  • 相信大家对Java编程中如何创建线程已经不陌生了,这篇文章就向朋友们介绍实现callable接口,具体实例详见正文。
  • 文章目录前言1.Callable的前世今生1.1 Callable的前世Runnable测试结果1.2 Callable的今生通过FutureTask+Thread调用ExecutorService+Future调用实现2.源码分析2.1 第一步,实现Callable接口2.2 FutureTask类结构图...
  • 主要介绍了Java 线程(Thread,Runnable,Callable)实例详解的相关资料,这里对java 线程的三种方法进行了对比,需要的朋友可以参考下
  • 主要介绍了Java多线程之Callable接口的实现,Callable和Runnbale一样代表着任务,区别在于Callable有返回值并且可以抛出异常。感兴趣的小伙伴们可以参考一下
  • 主要介绍了PHP Callable强制指定回调类型的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 主要介绍了Python中str is not callable问题详解及解决办法的相关资料,需要的朋友可以参考下
  • 主要介绍了详解Java Callable接口实现多线程的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 主要介绍了java Callable与Future的详解及实例的相关资料,需要的朋友可以参考下
  • 主要介绍了Java中的Runnable,Callable,Future,FutureTask的比较的相关资料,需要的朋友可以参考下
  • 主要介绍了Java多线程下的其他组件之CyclicBarrier、Callable、Future和FutureTask详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 135,411
精华内容 54,164
关键字:

callable