公司网站建设 邮箱,网站模板编辑工具,长沙同城,商城app下载感觉多线程的知识又多又杂#xff0c;自从接触java#xff0c;就在一遍一遍捋脉络和深入学习。现在将这次的学习成果展示如下。
什么是多线程#xff1f;
操作系统运行一个程序#xff0c;就是一个线程。同时运行多个程序#xff0c;就是多线程。即在同一时间#xff0…感觉多线程的知识又多又杂自从接触java就在一遍一遍捋脉络和深入学习。现在将这次的学习成果展示如下。
什么是多线程
操作系统运行一个程序就是一个线程。同时运行多个程序就是多线程。即在同一时间并行做多件事。 “并行”是相对于我们这些用户来说的对于cpu来说其在同一时间只能操作一个线程。cpu就像同时负责多个流水线的女工在流水线①上操作——将①暂停——去流水线②上操作——将②暂停——返回流水线①继续操作……
所以单核处理器也支持多线程执行代码。敲黑板这是一个知识点。
为什么使用多线程
简单来说就是为了让程序运行的更快缩短程序的响应时间。举个栗子。用户下单了一个商品程序大致需要做以下几个步骤
减库存往数据库插入订单数据给卖家发通知
如果有3个线程同时做这3件事那用时肯定能缩短。
什么是线程安全
线程安全就是多个线程同时操作某个共享资源时不会产生冲突。
“多个”、“同时”、“共享”对这3个词画个圈重点标注出来。
为了保证线程安全有哪些手段
1、使用关键字volatile、threadlocal 2、使用锁synchronized、lock 3、使用并发容器currentHashMap、阻塞队列等 4、使用并发工具类countdownLatch等 5、使用原子操作类atomicInteger等。
多线程的脉络图 后记
1多线程专栏的传送门里面有一路学习多线程的印记
多线程专栏
2“怕什么真理无穷进一寸有一寸的欢喜”只要有进步就好~ 加油~