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()方法来启动线程。
  • 相关阅读:
    java方法执行超时关闭
    PostGIS-将多面转换为单面(PostGIS
    deepin安装JDK
    Power Designer反向工程
    【Redis实操】twemproxy代理搭建
    mysql 一些语句
    利用insertd查出更新记录
    sqlserver 存储过程分页
    sqlserver存储过程分页记录
    js group by
  • 原文地址:https://www.cnblogs.com/liminghuang/p/8780457.html
Copyright © 2011-2022 走看看