前言

在多核时代,高并发时代,对系统并行处理能力有很高要求。多线程就是这个时代最好的产物。通过使用多线程可以增强系统并行处理能力,提高CPU资源的有效利用;从而提高系统的处理能力。常见应用场景如:多窗口售票、生产消费模式、异步提交信息(如日志、发送消息),只要系统需要并行任务处理的场景都可以考虑使用多线程。当然它也有缺点,线程由CPU调度、程序员无法干涉、多线程的随机性,这就会增加不可控性,得出的数据重复、错乱等现象。。。这篇文章是从关键点上进行整理。。。后续会针对相关关键点制作相关系列文章。。。想了解多线程相关可以关注后续。。。

关键点如下:

1.并发、并行

2.进程、线程

3.Runable、Callable

4.线程同步:synchronized、Lock

5.线程协作:wait、notify、notifyAll

6.FutureTask

7.Thread

8.ExecutorService、Executors

9.入门案例:购票案例

10.atomic包:原子操作

11.线程协作应用:交叉打印案例

12.阻塞队列:BlockingQueue、ArrayBlockingQueue、LinkedBlockingQueue

13.阻塞队列应用:生产、消费模式案例

14.并发容器:ConcurrentHashMap、ConcurrentLinkedQueue、CopyOnWriteArrayList、ConcurrentSkipListMap

15.CAS:无锁操作保证线程安全

16.volatile:保证线程间可见性

17.JMM模型

18.多线程的随机性

19.多线程的状态

Java多线程入门知识点梳理的更多相关文章

  1. java多线程入门学习(一)

    java多线程入门学习(一) 一.java多线程之前 进程:每一个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销.一个进程包括1--n个线程.     线程:同一类线程共享代码 ...

  2. Java多线程学习(一)Java多线程入门

    转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79640870 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...

  3. (转载)Java多线程入门理解

    转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更 ...

  4. Java并发相关知识点梳理和研究

    1. 知识点思维导图 (图比较大,可以右键在新窗口打开) 2. 经典的wait()/notify()/notifyAll()实现生产者/消费者编程范式深入分析 & synchronized 注 ...

  5. Java 多线程入门

    进程与线程 在学习Java多线程之前,先简单复习一下进程与线程的知识. 进程:进程是系统进行资源分配和调度的基本单位,可以将进程理解为一个正在执行的程序,比如一款游戏. 线程:线程是程序执行的最小单位 ...

  6. java多线程入门

    一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起.   以前古老的DOS操作系统(V 6.22)是单任务的,还没有线程的概念,系统在每次只能做一件事情.比如你在copy东西 ...

  7. 二十四 java 多线程一些知识点

    1:blocked线程和waiting的线程的区别? 如何唤醒? java线程中含有waiting与blocked两种状态: 线程的 blocked状态往往是无法进入同步方法/代码块来完成的(BLOC ...

  8. Java多线程入门及实战

    基本概念: 1: 程序 2 进程 3 线程 4 进程和线程的区别 5 进程和程序的区别 Java实现多线程的方法: 1 继承Thread 2 实现Runable 3 实现callable 4 线程池的 ...

  9. Java多线程 面试知识点总结1

    一.JMM(Java内存模型) 参考 老刘-JMM面试包过 HollisChuang-Java内存模型 <Java并发编程实战>Chapter-16 <深入理解Java虚拟机> ...

随机推荐

  1. 【javascript】javascript设计模式之工厂模式

    1.要解决的问题 2.如何实现 3.与构造函数的区别 4.总结 1.要解决的问题 工厂模式通常用于重复创建相似对象,提供动态创建对象的接口. 2.工厂模式最为设计模式中构造模式之一,通常在类或类的静态 ...

  2. input标签添加上disable属性在ios端字体颜色不兼容的问题

    input[disabled],input:disabled,input.disabled{ color: #3e3e3e; -webkit-text-fill-color: #3e3e3e; -we ...

  3. mssql修改id

    alter   table   image   alter   column   id     int   IDENTITY   (1,   1)   NOT   NULL 我只能上查询分析器,所以只 ...

  4. laravel model relationship

    laravel支持多种模型之间的relation,对应着模型间的one2one, one2many,many2many,hasManyThrough,Polymorphic, many2many po ...

  5. React学习笔记(六)事件处理

    React学习笔记(六) 五.事件处理 React事件绑定属性的命名采用驼峰写法,不同于传统DOM全部小写. 如果采用JSX的语法,事件函数需要用大括号{}包裹函数名,不同于传统DOM字符串小括号的方 ...

  6. Python学习---django知识补充之CBV

    Django知识补充之CBV Django: url    -->  def函数      FBV[function based view]  用函数和URL进行匹配 url    --> ...

  7. Linux sftp命令详解

    sftp是Secure File Transfer Protocol的缩写,安全文件传送协议.可以为传输文件提供一种安全的网络的加密方法.sftp 与 ftp 有着几乎一样的语法和功能.SFTP 为 ...

  8. Hive开窗函数的理解

    1.从一个sql语句开始 select id,sum(price) over(partition by id order by price desc) from books; sum作为聚合函数的时候 ...

  9. PHP面试常用算法(推荐)

    一.冒泡排序 基本思想: 对需要排序的数组从后往前(逆序)进行多遍的扫描,当发现相邻的两个数值的次序与排序要求的规则不一致时,就将这两个数值进行交换.这样比较小(大)的数值就将逐渐从后面向前面移动. ...

  10. ZT android -- 蓝牙 bluetooth (五)接电话与听音乐

    android -- 蓝牙 bluetooth (五)接电话与听音乐 分类: Android的原生应用分析 2013-07-13 20:53 2165人阅读 评论(9) 收藏 举报 蓝牙android ...