多线程
贾文斌
暂无
展开
-
多线程的三大特性-java
文章目录三大特性原子性有序性可见性注意事项 三大特性 多线程的三大特性包括原子性、可见性、有序性。下面分别解释这三大特性。当程序运行时,如果没有满足这三大特性,就有可能产生线程安全问题。 原子性 原子性其实就是保证数据一致、线程安全一部分,既一个或者多个操作时,要么全部执行完中途不会被打断,要么就不执行。 举例说明: package com.jwb; public class ThreadDe...原创 2019-05-31 13:49:06 · 1016 阅读 · 0 评论 -
java线程安全问题
文章目录什么是线程安全下面举例说明线程安全解决办法synchronized的用法注意事项同步代码块同步函数静态函数同步线程死锁 什么是线程安全 线程安全问题的产生必须满足一下三个条件: 多个线程 多个线程共享同一个静态变量或者全局变量变量 对共享变量做写操作 一句话表达:当多个线程共享同一个静态变量或者全局变量时,并且对共享变量进行写操作,那么久很有可能产生线程安全问题。 下面举例说明 ...原创 2019-06-14 16:29:59 · 130 阅读 · 0 评论 -
java线程之间的通讯
文章目录需求wait()、notify()notifyAll()方法 需求 现有一个需求,有一个共享变量初始值是0,这个变量分别有一个线程操作该变量递加,另外一个线程进行读取操作,并且每次变量的值变化都必须读取并打印显示。这就是非常常见的读写分离。 下面我们用代码先编写一个读写分离的基本逻辑: package com.jwb; public class ThreadDemo4 { // 多线...原创 2019-06-14 16:36:53 · 120 阅读 · 0 评论 -
Lock的用法
文章目录LockCondition对象中的await()方法和Signal() Lock jdk1.5中,新增了java.util.concurrent的包,这个包主要是用于多线程场景的许多类。下面先介绍Lock,因为便于理解和学习使用,会对比着synchronized进行描述。 先看看Lock标准的用法: // import java.util.concurrent.locks.Lock; /...原创 2019-06-14 16:40:47 · 462 阅读 · 0 评论