zoukankan      html  css  js  c++  java
  • 多线程随手记

    一、一个进程包含一个线程或多个线程。

    二、线程是最小的执行单位。这意味着一个程序可以同时进行两个或多个任务的功能。

    三、多线程编程的目的是最大限度的利用CPU资源,使用CPU的空闲时间保持到最低。

    四、处于创建状态的线程只是一个空的线程对象,系统并不为它分配资源。

    五、当执行start()方法将为线程分配资源,安排其运行,并调用线程的run()方法,这样就是使得该线程处于可运行状态。

    六、当发生以下事件时,处于运行时的线程会由运行状态转为不可运行状态:

      ①、调用Thread.sleep()方法

      ②、线程调用wait()方法等待特定条件的满足。

      ③、线程输入/输出阻塞

    七、当线程的run()方法执行结束后,线程自然消亡。

    八、Java中的每一个对象都一个锁(lock),或者叫监视器(monitor),当线程访问某个对象的synchronized方法时,表示将这个对象上锁,此时其他线程都无法访问这个synchronized方法,而且也无法访问这个对象的其他synchronized方法。直到这个线程执行完毕或者抛出异常或者调用了wait()方法后才会将所释放掉,其他线程才有可能去访问这个synchronized方法。

    九、一个类中,先执行静态代码块,接着执行代码块,接着再执行构造方法。一个类中可以有多个静态代码块,也可以有多个代码块。

  • 相关阅读:
    Java中的synchronized以及读写锁
    Java中的HashMap低层实现原理
    AOP
    PageRank算法
    Python基础
    RF创建测试库
    RF-RequestsLibrary
    selenium webdriver
    RF开发关键字(四)
    RF关键字(三)
  • 原文地址:https://www.cnblogs.com/GooPolaris/p/7920310.html
Copyright © 2011-2022 走看看