zoukankan      html  css  js  c++  java
  • java多线程

    实现多线程的方式:

      1、继承Thread

      2、实现Runnable接口

      3、Java 5以后创建线程还有第三种方式:实现Callable接口

    实现Runnable接口相比继承Thread类有如下优势:

      1、可以避免由于Java的单继承特性而带来的局限
      2、增强程序的健壮性,代码能够被多个程序共享,代码与数据是独立的
      3、适合多个相同程序代码的线程区处理同一资源的情况

    线程同步的方法:锁,synchronized块,信号量等。

    锁的等级:方法锁、对象锁、类锁

    wait()和sleep()的区别:

      sleep()方法是线程类(Thread)的静态方法,导致此线程暂停执行指定时间,将执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复(线程回到就绪(ready)状态),因为调用sleep 不会释放对象锁。wait()是Object 类的方法,对此对象调用wait()方法导致本线程放弃对象锁(线程暂停执行),进入等待此对象的等待锁定池,只有针对此对象发出notify 方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入就绪状态。

  • 相关阅读:
    组内分享总结
    Java虚拟机内存
    代理 正向代理 反向代理
    Class文件打包成jar并执行
    Oracle 并集交集差集
    Sysstat安装以及简单操作
    树结构列表结构相互转换 js
    nginx配置root和alias的区别
    js call apply 用法
    VS Code配置同步
  • 原文地址:https://www.cnblogs.com/yl-saber/p/6929204.html
Copyright © 2011-2022 走看看