zoukankan      html  css  js  c++  java
  • Java—多线程总结

    知识总结

    同步锁

      多个线程想保证线程安全,必须要使用同一个锁对象> 同步锁

    同步代码块> 同步锁

      synchronized (锁对象){
        可能产生线程安全问题的代码
      }

    同步代码块的锁对象可以是任意的对象

    同步方法

    public synchronized void method()
      可能产生线程安全问题的代码
    }

    同步方法中的锁对象是 this

    静态同步方法

    public synchronized void method()
      可能产生线程安全问题的代码
    }

    静态同步方法中的锁对象是 类名.class

    多线程有几种实现方案,分别是哪几种?
      a, 继承Thread类
      b, 实现Runnable接口
      c, 通过线程池,实现Callable接口

    同步有几种方式,分别是什么?
      a,同步代码块
      b,同步方法
        静态同步方法

    启动一个线程是run()还是start()?它们的区别?

    启动一个线程是start()

    区别:
     start: 启动线程,并调用线程中的run()方法
     run : 执行该线程对象要执行的任务

    sleep()和wait()方法的区别

    sleep: 不释放锁对象, 释放CPU使用权
       在休眠的时间内,不能唤醒

    wait(): 释放锁对象, 释放CPU使用权
       在等待的时间内,能唤醒

    为什么wait(),notify(),notifyAll()等方法都定义在Object类中

    锁对象可以是任意类型的对象

  • 相关阅读:
    性能测试流程
    登录时获取验证码
    xpath在谷歌下的安装教程
    浏览器驱动安装
    Python3.3+Selenium3.0框架实战Web自动化测试实战
    selenium+python+unittest实现自动化测试(入门篇)
    python 3 的环境搭建Robot Framework
    canvas
    学习webpack
    开始学习typescript
  • 原文地址:https://www.cnblogs.com/nadou/p/13985367.html
Copyright © 2011-2022 走看看