自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 并发编程(十)----synchronized(1)

文章目录synchronized作用synchronized使用方式synchronized导致死锁synchronized作用在并发编程中存在线程安全问题,主要原因有:1.存在共享数据;2.多线程共同操作共享数据;关键字synchronized可以保证同一时刻,只有一个线程可以执行某个方法或者代码块,实现线程安全。synchronized使用方式分类具体分类被锁的对象...

2019-10-23 22:31:40 78

原创 并发编程(九)----volatile(2)

文章目录as-if-serial数据依赖性as-if-serial语义指令重排序指令级并行重排序内存系统重排序指令重排序含义volatile内存语义语义说明volatile原理内存屏障as-if-serial数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个是写操作,此时这两个操作就存在数据依赖性。数据依赖分为一下三种:名称代码示例写后读a=1;b=a写...

2019-10-23 00:14:38 92

原创 并发编程(八)----volatile关键字

文章目录volatile的作用硬件系统架构硬件系统架构演进缓存一致性问题缓存一致性协议窥探技术MESI协议总结volatile的作用保证共享变量的可见性,不能保证原子性,也不能保证线程安全确保所有线程在同一时刻读取到的共享变量的值是一致的如果某个线程对volatile修饰的共享变量进行更新,那么其他线程可以立刻看到这个更新硬件系统架构硬件系统架构演进1.计算机在运行程序时,每条...

2019-10-21 23:19:29 102

原创 并发编程(七)----Thread类源码分析

文章目录声明属性方法JVM源码声明publicclass Thread implements Runnable {...}Thread类实现了Runnable接口,是Runnable接口的实现类属性private volatile String name;//线程名字private int priority;//线程优先级private boolean daemon = fals...

2019-10-21 21:58:00 111

原创 并发编程(六)----常用方法(2)

文章目录yield()join()sleep()/wait()/yield()/join()对比yield()1.字面意思:投降,放弃2.yield()方法的意思是告诉CPU执行其他的线程,当前线程让出CPU的执行权利3.yield()方法不能保证使用当前正在运行的线程迅速转换到可运行的状态4.yield()方法作用是将当前线程从执行中的状态转换到可执行状态5.yield()方法不能...

2019-10-19 16:12:27 78

原创 并发编程(五)----常用方法(1)

文章目录sleepwaitnotify/notifyallsleep1.sleep作用让当前线程暂停指定的时间2.sleep只是暂时让出CPU执行权限,并不释放锁3.sleep由于对象锁没有被释放,其他线程仍然无法访问这个对象4.sleep不需要在同步的代码块中执行(wait方法必须在同步的代码块中执行)5.sleep可以用interrupt方法打断线程的暂停状态6.sleep只是...

2019-10-17 23:03:17 74

原创 并发编程(四)----线程的优先级和守护线程

线程的优先级java中线程优先级范围为1~10,默认是5高优先级线程尽量会优先于低优先级线程执行线程优先级的特性继承性,如果在线程A中启动线程B,线程A和线程B有相同的优先级CPU尽量将执行的资源让给优先级高的线程用,但是不保证执行先后,线程运行具有随机性package com.hexy.thread.demo;/** * 线程优先级 */public class T...

2019-10-16 23:15:16 70

原创 并发编程(三)----安全地终止线程

文章目录设置退出标识interrupt方法废弃的方式设置退出标识除了正常结束外,还有哪些方式可以终止?设置退出标识package com.hexy.thread.demo;public class ThreadDemo7 extends Thread{ //保证内存可见性 public volatile boolean exit = false; @Ove...

2019-10-16 22:32:25 108

原创 并发编程(二)----线程的中断

文章目录线程中断线程中断的概念概念线程中断相关方法中断的处理抛出InterruptedException捕获异常再抛出重新中断线程中断线程中断的概念疑问:杀毒软件没完成时,点击取消按钮,杀毒软件立刻就会退出吗?错误理解:被中断的线程立刻退出概念1.java中线程中断是一种协作机制2.通过中断并不能直接终止线程的运行3.需要被中断的线程自己处理中断例:父母叮嘱在外孩子注...

2019-10-14 23:06:35 64

原创 并发编程(一)----线程基础

文章目录线程基础Thead类Runnable接口Callable接口线程的生命周期线程阻塞线程无限期等待线程有限期等待线程结束线程基础Thead类1.定义Thread类的子类,重写run()方法,该run()方法代表了线程需要完成的任务2.创建Thread子类实例,即创建线程对象3.调用线程对象的start()方法启动线程package com.hexy.thread.demo;...

2019-10-14 21:03:22 88

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除