要编写正确的并发程序,关键在于:在访问共享的可变状态时需要进行正确的管理 可见性: 同步的另一个重要目的——内存可见性。 我们不仅希望防止某个线程正在使用对象状态而另一个线程同时在修改状态,而且希望当一个线程修改了对象状态后,其他线程能够看到发生的状态变化(互斥访问/通信效果) 问题 非原子的64位 ...
分类:
编程语言 时间:
2018-11-03 01:47:13
阅读次数:
150
上文创建多线程买票的例子中注释会出现错票、重票的问题,本文来讲讲如何解决此问题。本文例子:利用多线程模拟 3 个窗口卖票 上文创建多线程买票的例子中注释会出现错票、重票的问题,本文来讲讲如何解决此问题。本文例子:利用多线程模拟 3 个窗口卖票 实现Runnable接口 public class Te ...
分类:
编程语言 时间:
2018-11-02 17:58:25
阅读次数:
215
转自:http://www.cnblogs.com/zhengbin/p/5657435.html 乐观锁 乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号 ...
分类:
编程语言 时间:
2018-11-02 10:17:52
阅读次数:
159
github演示代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/src/main/java/com/kawa/thread 1.线程池 1.1 线程池是什么 1.2 线程池作用 1.3 线程池的分类 JDK1 ...
分类:
编程语言 时间:
2018-11-01 11:48:44
阅读次数:
372
[toc] Java多线程讲解 一丶多线程简介 1.进程的概念 进程是什么,进程就是一个程序在运行中的一个实例.比如QQ.比如浏览器.这个就是多进程的状态. 意思就是可以同时运行多个程序. 可以打开任务管理器.观看我们的进程 ctrl + shift + esc 或者 ctrl + alt +del ...
分类:
编程语言 时间:
2018-10-28 21:58:55
阅读次数:
209
转自:http://www.cnblogs.com/skywang12345/p/3479243.html (含部分修改) 概要 本章,会对Thread中的线程让步方法yield()进行介绍。涉及到的内容包括: yield()介绍 yield()示例 yield() 与 wait()的比较 一. y ...
分类:
编程语言 时间:
2018-10-28 20:50:19
阅读次数:
163
转自:http://www.cnblogs.com/skywang12345/p/3479275.html (含部分修改) 概要 本章,会对Thread中join()方法进行介绍。涉及到的内容包括: join()介绍 join()源码分析(基于JDK1.7.0_40) join()示例 一. joi ...
分类:
编程语言 时间:
2018-10-28 20:47:09
阅读次数:
188
转自:http://www.cnblogs.com/skywang12345/p/3479256.html (含部分修改) 概要 本章,会对Thread中sleep()方法进行介绍。涉及到的内容包括: sleep()介绍 sleep()示例 sleep() 与 wait()的比较 一. sleep( ...
分类:
编程语言 时间:
2018-10-28 20:44:10
阅读次数:
213
转自:https://www.cnblogs.com/weishao-lsv/p/8143976.html 在Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) Java平台把操作系统的底层进行了屏蔽,在JVM虚拟平台里面构造出对自己有利的机制,这就是守 ...
分类:
编程语言 时间:
2018-10-28 20:43:21
阅读次数:
201
转自:http://www.cnblogs.com/skywang12345/p/3479949.html(含部分修改) 概要 本章,会对线程的interrupt()中断和终止方式进行介绍。涉及到的内容包括:1. interrupt()说明2. 终止线程的方式 2.1 终止处于“阻塞状态”的线程 2 ...
分类:
编程语言 时间:
2018-10-28 20:37:59
阅读次数:
120