zoukankan      html  css  js  c++  java
  • Java创建线程(二)

    (一)Java 中如何创建线程

    1.Java提供了三种方法创建线程:

    ①实现Runnable接口的类;

    继承Thread本身;

    ③通过CallableFuture创建线程。

    2.Thread 和Runnable的区别

    ①:如果是一个类继承Thread--->不适合资源共享。但是如果实现了Runnable接口--->很容易实现资源共享

    总结:

    实现Runnable接口继承Thread类所具有的优势:

    (1.)适合多个相同的程序代码的线程去处理同一个资源

    (2)避免java中单继承的限制。

    (3)增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。

    (4)线程池只能放入实现Runnablecallable  类线程不能直接放入继承Thread的类

    3.具体的列子:

    ① Runnable接口   

         eg:

    ②:继承Thread来创建线程。【本质上与实现Runnable实例差不多。】

    eg:(其它代码同上)

    ③:Callable和Future创建线程

    • 1. 创建 Callable 接口的实现类,并实现 call() 方法,该 call() 方法将作为线程执行体,并且有返回值。

    • 2. 创建 Callable 实现类的实例,使用 FutureTask 类来包装 Callable 对象,该 FutureTask 对象封装了该 Callable 对象的 call() 方法的返回值。

    • 3. 使用 FutureTask 对象作为 Thread 对象的 target 创建并启动新线程。

    • 4. 调用 FutureTask 对象的 get() 方法来获得子线程执行结束后的返回值。

         eg:

  • 相关阅读:
    测试开发面试集锦_数据库
    测试开发面试集锦_linux
    测试开发面试题集锦_java
    Java中equals 和==的区别
    定时清理文件shell脚本
    java文件上传,upload使用
    python 获取错误日志,并发送邮件
    c语言代码审计规范
    渗透测试之nmap
    渗透测试之GoogleHack
  • 原文地址:https://www.cnblogs.com/not-alone/p/8525371.html
Copyright © 2011-2022 走看看