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

    线程的生命周期

    创建状态>>>>>>就绪状态 >>>>>>运行状态(线程创建后,要等待cpu时间)>>>>>>停止状态(run方法结束或者调用stop方法)

    当线程再运行状态下,由于某种原因导致线程停止执行让出cpu时间,线程就进入了阻塞状态,如调用sleep方法

    正确停止线程的方法,不要用线程的stop方法进行退出线程,太暴力,不管线程运行到什么状态,就是直接停。正确的方法是设置一个停止的标志,最好用boolean类型。

    守护线程,相对于用户线程,是运行在后台用来给用户线程。可以用setDiamond(true)方法设置守护线程,需要注意的是,这个方法必须在start方法之前调用,否则会抛出异常,在守护线程中产生的新线程也是守护线程,不是所有任务都可以交给守护线程来做的,比如读写操作和逻辑运算

    继续深入学习理解java并发知识

    1.Java Memory Mode

    • JMM描述了Java线程如何通过内存进行交互
    • happens-before
    • synchronized,volatile & final

    2.Lock & Condition

    • Java锁机制和等待条件的高级实现
    • java.util.concurrent.locks

    3.线程的安全性

    • 原子性和可见性
    • DeadLocks

    4.多线程编程常用的交互模式

    • Producer-Consumer模型
    • Read-Write Lock模型
    • Futrue模型
    • Worker Thread模型

    5.java并发编程工具

    java核心技术,java concurrency in practice两本书可以参考一下

    zhumiao
  • 相关阅读:
    UI Automator Viewer工具的使用
    SQL数据库面试50题(转载)
    Python +selenium+pycharm(Windows)
    python安装及环境变量配置(Windows)
    JDK的安装与环境变量配置
    shell参数
    文件添加行号
    CentOS 7修改UTC为CST
    shell控制超时
    fio笔记
  • 原文地址:https://www.cnblogs.com/zhumiao/p/9489498.html
Copyright © 2011-2022 走看看