随笔分类 -  JAVA多线程

摘要:happens-before原则 我们编写的程序都要经过优化后(编译器和处理器会对我们的程序进行优化以提高运行效率)才会被运行,优化分为很多种,其中有一种优化叫做重排序,重排序需要遵守happens-before规则,换句话说只要满足happens-before原则就可以进行重排序。 定义:在JMM 阅读全文
posted @ 2018-03-12 21:38 unbelievableme 阅读(356) 评论(1) 推荐(0) 编辑
摘要:synchronized关键字类似于java中的悲观锁机制,接下来介绍一种java的乐观锁机制Unsafe类 CAS CAS简介 CAS全称是Compare And Swap,即比较交换,它是在并发执行时的一种无锁思想,其主要包含三个参数: /** *V主内存中的值 *E表示线程中旧的预期值 *N表 阅读全文
posted @ 2018-03-09 19:55 unbelievableme 阅读(312) 评论(0) 推荐(0) 编辑
摘要:synchronized的使用 synchronized关键字是Java中解决并发问题的一种常用方法,也是最简单的一种方法,其作用有三个:(1)互斥性:确保线程互斥的访问同步代码(2)可见性:保证共享变量的修改能够及时可见(3)有序性:有效解决重排序问题,其用法也有三个: 修饰实例方法 修饰静态方法 阅读全文
posted @ 2018-02-06 16:23 unbelievableme 阅读(5839) 评论(5) 推荐(16) 编辑
摘要:线程的创建 java提供了三种创建线程的方法: 通过继承 Thread 类本身; 通过实现 Runnable 接口; 通过 Callable 和 Future 创建线程。 继承Thread类 步骤: 继承Thread类 重写run方法 实例化该类,调用start方法 演示: public class 阅读全文
posted @ 2018-02-03 14:21 unbelievableme 阅读(948) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示