zoukankan      html  css  js  c++  java
  • Java实现多线程

    Java中实现多线程有两种手段:

    • 继承Thread类(此类为多线程的操作类),而且必须明确地重写Thread类中的run()方法,此方法为线程的主题
    • 实现Runnable接口

    Thread类和Runable的区别:

    • Thread不适合多个线程共享资源,而实现了Runable接口,就可以方便地实现资源的共享
    • Thread类其实也是Runnable接口的子类,Thread类中的run()方法其实由Runnable子类完成的,这就是为什么继承Thread类必须明确地重写Thread类中的run()方法(这里其实用到了代理模式)

    Thread类:

    • 如果一个类通过继承Thread类来实现,那么只能调用一次start()方法,如果调用多次,则会抛出IllegalThreadStateException异常。
    • start() 方法里真正调用的是start0()方法,此方法在声明处使用了native关键字声明,此关键字表示调用本机的操作系统函数,因此多线程的实现需要依靠底层操作系统支持。

    Runnable接口:

    • 实现Runnable接口必须重写Runnable中的run()方法
    • 线程的启动还是要依靠Thread类,需要使用Thread构造方法public Thread(Runable target)或者public Thread(Runnable target,String name)实例化Thread类对象后调用对象的start()方法来启动线程。
  • 相关阅读:
    每日一题_190921
    每日一题_190920
    每日一题_190919
    2017年江苏高考数学14题
    2017年全国高中数学联赛及2017年贵州省预赛试题
    高中数学与初中数学的接轨点
    从此错位(相减)无计算
    在 LaTeX 中同步缩放 TikZ 与其中的 node
    析构函数 一定是虚函数
    Java对多线程的支持
  • 原文地址:https://www.cnblogs.com/liminghuang/p/8780457.html
Copyright © 2011-2022 走看看