![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
rainwangdayu
这个作者很懒,什么都没留下…
展开
-
java多线程
一.进程和多线程简介1.1 进程和线程进程和线程的对比这一知识点由于过于基础,所以在面试中很少碰到,但是极有可能会在笔试题中碰到。常见的提问形式是这样的:“什么是线程和进程?,请简要描述线程与进程的关系、区别及优缺点? ”。1.2 何为进程?进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。系统运行一个程序即是一个进程从创建,运行到消亡的过程。如下图所示,在 windo...原创 2019-09-11 10:44:12 · 86 阅读 · 0 评论 -
synchronized关键字
1.synchronized同步代码块synchronized关键字就不过多记录了,同一个对象进入方法会同步,不同的对象不会同步。下面来介绍一下同步代码块synchronized(this){ //对象锁}同步代码块的优点我觉得是所有线程可以进入非代码块的部分,到有同步代码块的地方等待,而用关键字的话,调用此方法就要开始等待,很耗时。2. synchronized(object)代码块...原创 2019-09-11 12:02:15 · 70 阅读 · 0 评论 -
volatile关键字
一 volatile关键字的可见性volatile 修饰的成员变量在每次被线程访问时,都强迫从主存(共享内存)中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到主存(共享内存)。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值,这样也就保证了同步数据的可见性。 private boolean isRunning = true; int m; publ...原创 2019-09-11 15:36:20 · 76 阅读 · 0 评论 -
synchronized关键字拓展
之前一直以为,只有在同一个线程类中使用同一个对象作为对象锁,才会实现同步,今天突然发现,两个不同的线程类使用同一个对象作为对象锁的话,也会实现同步,上代码public class ThreadA extends Thread { private Object lock; public ThreadA(Object lock) { super(); ...原创 2019-09-11 16:36:13 · 68 阅读 · 0 评论