zoukankan      html  css  js  c++  java
  • 多线程并发编程

    1.线程和进程的概念

    进程是一个执行的程序,进程里面有多个线程,线程是进程中负责执行的程序的一执行单元,线程本身是依靠程序进行运行的,线程是程序中一个顺序控制流。
    线程分为单线程和多线程。 多线程能更好利用cpu资源。
    以前单进程的,时间片切换

    多线程实现方式: 继承thread,实现runnable。
    ExecutorService
    CallableFuture 带返回值的多线程,方法执行完给一个返回值。

    2. 多线程的生命周期

    初始状态 -- 可运行状态 -- 运行中 -- 结束

    运行中通过yield或时间片轮询变成可运行状态

    运行中 通过synchronized变成锁定状态
    运行中通过wait 进入等待队列
    等待队列通过notify notifyall wait时间执行完 等唤醒一个锁定状态的线程,拿到锁的标记,进入可运行状态

    运行中通过sleep,join让当前进程进入阻塞状态
    阻塞状态通过sleep结束,join线程执行完变成可运行状态

  • 相关阅读:
    只有在人生的最低处才能看清这个世界
    深刻理解JavaScript原型链
    常用的正则表达式
    JS容易犯错的this和作用域
    站立会议第二天
    站立会议第一天
    典型用户分析
    第七周学习进度
    第六周学习进度
    最大子数组三
  • 原文地址:https://www.cnblogs.com/james0/p/9280363.html
Copyright © 2011-2022 走看看