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

    1、一个进程就是一个正在运行的应用程序的实例,程序段+相关的数据段+PCB构成了进程实体。

    2、进程由两个部分组成

    (1)操作系统来管理这个进程的内核对象;

    (2)这个进程拥有的地址空间。

    3、线程除了能够访问进程的资源外,每个进程还拥有自己的栈。

    4、引入线程的好处:由于线程比进程更小,基本上不拥有系统资源,因此对线程的调度所付出的开销就会小很多,更能高效地提高系统内多个程序间并发执行的程度。

    5、进程和线程

    (1)在引入线程的os中,通常把进程作为操作系统中能资源分配的基本单位,线程是操作系统独立运行和独立调度的基本单位;

    (2)线程可以看成是轻量级的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器,线程的切换开销小。

    6、Java的线程是通过java.lang.Thread类来实现的

    7、线程的两种模式:

    (1)协作式:一个线程保留对CPU的控制知道它自己决定放弃;

    (2)抢占式:系统可以任意的从线程中夺回对CPU的控制权,再把控制权分配给其它的线程,两次切换的时间间隔叫做时间片。

    8、无论synchronized关键字加载方法上还是对象上,它取得的锁都是在对象上。

    9、wait和sleep的区别:

    (1)来源不同:sleep是Thread类提供的方法,wait继承自object;

    (2)代码位置不同:wait需要写在synchronize语句块里面;

    (3)是否释放锁定对象:调用wait方法需要释放锁定对象,sleep时别的线程也不可以访问锁定对象。

  • 相关阅读:
    RadioButton 用法
    输出复选框选中的文件名 checkbox
    dropdownlist select的用法
    货币的值如何按各个不同国家的习惯来输出
    sqlserver 面试题
    更新数据的脚本
    《C++ Primer》读书笔记—第九章 顺序容器
    《C++ Primer》读书笔记—第八章 IO库
    《C++ Primer》读书笔记—第七章 类
    《C++ Primer》读书笔记—第六章 函数
  • 原文地址:https://www.cnblogs.com/fankongkong/p/6383725.html
Copyright © 2011-2022 走看看