【JUC】JUC简要介绍
JUC是什么
JUC是java.util.concunrent的缩写,是并发编程中使用的工具包
课程前置知识
Java8新特性
课程:宋红康Java8新特性
- Lambda表达式
- 函数式(Functional)接口
- 方法引用与构造器引用
- 强大的Stream API
- Optional类
JUC初级
课程-JUC并发编程
JVM
推荐书籍
为什么学习多线程很重要
硬件方面
- 摩尔定律:当价格不变时,集成电路上可容纳的元器件的数目约每隔18-24个月便会增加一倍,性能也将提升一倍。
- 可是从2003年开始CPU主频已经不再翻倍,而是采用多核而不是更快的主频。摩尔定律失效了,在主频不再提高且核数在不断增加的情况下,要想让程序更快就要用到并行或并发编程。
软件方面
- 充分利用多核处理器
- 提高程序性能,高并发系统
- 提高程序吞吐量,异步+回调等生产需求
多线程弊端
- 线程安全性问题
- i++:买票案例,重票,负数、错票
- 集合类安全否
- 线程锁问题:死锁
- 线程性能问题:不同锁性能不同
Thread的start方法底层源码
public class ThreadBaseDemo {
public static void main(String[] args) throws InterruptedException {
Thread t1 = new Thread(() -> {
}, "t1");
t1.start();
}
}
调用C++底层方法
底层由c++实现
启动操作系统赋予的native线程
操作系统分配线程
文章说明
该文章是本人学习 尚硅谷 的学习笔记,文章中大部分内容来源于 尚硅谷 的视频尚硅谷JUC并发编程(对标阿里P6-P7),也有部分内容来自于自己的思考,发布文章是想帮助其他学习的人更方便地整理自己的笔记或者直接通过文章学习相关知识,如有侵权请联系删除,最后对 尚硅谷 的优质课程表示感谢。
原文地址:https://blog.csdn.net/laodanqiu/article/details/140686238
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!