![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java多线程编程
Simple love you专刊
菜鸟一枚,学习ing
展开
-
Java成神之路(二十)并行与并发,线程与进程
并发与并行并发与并行并发:在一个时间段中有几个程序都处于已启动运行到运行结束之中,且这几个程序都是在同一个处理机上运行,但在任意一个时刻点只有一个程序在运行并行:两个或以上的程序同时在不同的处理器上处理。互相不抢夺CPU资源。两者区别并行是两个或以上的程序同时进行,并发是指两个或者在同一个时间间隔内发生。意思为:当多个处理器机器上,多个应用程序可以并发在分配到多个处理器上,实现并...原创 2019-03-27 20:56:33 · 141 阅读 · 0 评论 -
Java成神之路(二十一)锁
锁CAS无锁的执行者,比较与交换用于实现多线程中同步的原子指令。将内存中的内容与定值比较,只有相同,才将内存内容修改。原子性保证新值基于最新信息计算; 如果该值在同一时间被另一个线程更新,则写入将失败。 操作结果必须说明是否进行替换; 这可以通过一个简单的布尔响应(这个变体通常称为比较和设置),或通过返回从内存位置读取的值来完成乐观锁与悲观锁悲观锁:竞争总会发生,每次拿到数据都上锁,共享...转载 2019-03-28 20:20:55 · 112 阅读 · 0 评论 -
Java成神之路(二十二)线程安全
线程安全死锁两个或以上进程在执行中,由于竞争关系或者彼此通信而造成的一种阻塞线程,若无外力介入,他们都将无法推进下去死锁的四个条件互斥条件:资源只有一个进程占用。请求和保持提哦啊叫:进程已经保持一个资源,但又提出新的资源请求,而该资源被已被其他进程占用,此时请求阻塞,但又对自己已获取的其他自己保持不妨不剥夺条件:进程已获取资源,在为使用完之前,不能被剥夺。环路等待条件:存在进程循环...原创 2019-03-28 20:30:16 · 100 阅读 · 0 评论 -
Java成神之路(二十三)Synchronized与volatile
SynchronizedSynchronized是如何实现的。通过底层的monitor对象实现,当监视器锁被占用时,属于锁定状态,执行指令会先获取所有权(当mointor为0是,进入锁定,将其设置为1,重新进入则加1。当为0时,其他线程才能获取其监视锁,宕执行指令时就减一。)Synchronized和lock之间的关系.Lock,其实是用来解决synchronized缺陷的。如一定...原创 2019-03-28 20:33:14 · 106 阅读 · 0 评论 -
Java成神之路(二十四)Sleep(),wait(),notify()
sleep和waitSleep()属于Thread类的,Wait()属于Object类的。Sleep()暂停程序,让出CPU给其他线程,但是依然是监视保持着,指定时间自动恢复,不 会释放锁,可以在任何地方使用,需要捕抓异常。Wait(),会释放锁,进行对象的等待锁定次,只有调用了notify()方法才会唤醒进入准备,获得对象锁才会进行入运行,只能在同步代码中使用,不需要捕抓异常。wait和...原创 2019-03-28 20:35:34 · 84 阅读 · 0 评论 -
Java成神之路(二十八)SpingMVC,Spring Boot
SpringMVCMVC模型-视图-控制器分离。C主要用来同步M和V;所以本意:Model为数据库记录,持久化。View:为前端,Controller:处理输入输出。SpringMVC 与Struts2区别:拦截机制不同:struts2为类级别拦截,每次请求都会创建一个Action,和Spring整合时,通过Setter,Getter把request数据注入属性,一个Action对应一...转载 2019-03-28 20:51:59 · 127 阅读 · 0 评论