JAVA深入学习
记录学习之路
harvey_huo
这个作者很懒,什么都没留下…
展开
-
多线程学习-ThreadLocal
ThreadLocal的作用:提供线程内的局部变量,不同的线程直接不会相互干扰,这种变量在线程的生命周期内起作用,减少统一线程多个函数霍组件之间一些公共变量传参的复杂度。线程并发:在多线程并发的场景下 传递参数:我们可以通过ThreadLocal在统一线程,不同组件之间传递公共变量。 线程隔离:每个线程的变量都是独立的,不会互相影响ThreadLocal和synchronized区别...原创 2020-04-21 00:55:11 · 138 阅读 · 0 评论 -
多线程学习-(java内存模型、volatile、wait、notify、notifyall、停止线程)
java内存模型:java memory modelJMM规定了内存主要划分为主内存和工作内存两种。和java内存结构(堆 栈 方法区)属于不同纬度。每条线程拥有各自的工作内存,工作内存中的变量是主内存中的一份拷贝,线程对变量的读取和写入,直接在工作内存中操作,而不能直接去操作主内存中的变量。volatile关键字:使用volatile修饰的关键字,可以刷新到主内存,使线程之间变量...原创 2020-04-19 20:41:46 · 176 阅读 · 0 评论 -
多线程学习-死锁
死锁:多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进死锁产生的原因竞争资源产生死锁中的竞争资源之一指的是竞争不可剥夺资源(例如:系统中只有一台打印机,可供进程P1使用,假定P1已占用了打印机,若P2继续要求打印机打印将阻塞) 产生死锁中的竞争资源另外一种资源指的是竞争临时资源(临时资源包括硬件中断、信号、消息、缓冲区...原创 2020-04-19 16:21:27 · 124 阅读 · 0 评论 -
多线程学习-常用知识点(守护线程、线程状态、join、synchronized、lock)
守护线程和非守护线程守护线程和主线程共存亡。最典型的守护线程是GC线程。线程的七种状态准备、就绪、运行、阻塞、(等待、超时等待)、结束join方法join作用是让其他线程进入等待状态,实现多线程同步操作。线程安全问题多个线程同时共享同一个全局变量或静态变量,做写的操作的时候会出现数据冲突问题。synchronized和locksynchronized可以保证方法...原创 2020-04-19 16:07:00 · 115 阅读 · 0 评论 -
多线程学习-线程创建方式
目录1.线程与进程的关系2.创建线程的四种方式2.1继承Thread2.2实现Runnable2.3匿名内部类2.4实现Callable1.线程与进程的关系进程是资源分配的最小单位,线程是程序执行的最小单位eg:人们打开迅雷软件就是一个进程,同时下载多部电影就是多个线程2.创建线程的四种方式2.1继承Thread/** * 继承方式实现线程 *...原创 2020-04-19 13:38:04 · 119 阅读 · 0 评论