zoukankan      html  css  js  c++  java
  • Java多线程学习笔记

    Java多线程学习笔记

     

    (1)       当运行一个应用程序的时候,就启动了一个进程,有些程序会启动多个进程。

     

    (2)       在进程中,有些程序块是可以乱序执行的,并且这个代码块可以同时被多次执行,这样的代码块就是线程体,线程是进程中乱序执行的代码流程。

     

    (3)       操作系统的多进程实现了多任务并发执行,程序的多线程实现了进程的并发执行,多线程的目的是为了最大限度的利用CPU资源。

     

    (4)       每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程,当某个线程中运行的代码创建一个新Thread对象时,该新线程的初始优先级被设定为创建线程的优先级。

     

    (5)       程序启动执行main的时候,Java虚拟机启动一个进程,主线程main在main()调用的时候被创建。

    (6)       通过Thread类的构造方法Thread(Runnable target)构造出对象,然后调用Thread对象的start()方法来启动线程。

    (7)       start()方法调用后,并不是立即执行多线程代码,而是使该线程变为可执行状态Runnable,什么时候运行是由操作系统决定的。

    (8)       从程序运行的结果可以发现,多线程程序是乱序执行。因此,只有乱序执行的代码才有必要设计为多线程。

    (9)       在某个方法中调用Thread.CurrentThread().getName()方法,可以获取当前线程的名字。比如在main()中调用该方法,获取的是主线程的名字。

  • 相关阅读:
    网页、JavaScript 数据类型
    网页javascript
    网页CSS
    使用ButterKnife无法inject view的解决办法
    项目管理实践 -- 健身小管家(Fitness housekeeper)的管理
    XML的序列化与反序列化
    JAVA虚拟机JVM-7.多线程常见问题刨析
    JAVA虚拟机JVM-6.锁优化
    JAVA虚拟机JVM-5.多线程以及锁
    JAVA虚拟机JVM-4.线程模型
  • 原文地址:https://www.cnblogs.com/liangweiping/p/3150546.html
Copyright © 2011-2022 走看看