线程
文章平均质量分 95
一位懒得写博客的小学生
这个作者很懒,什么都没留下…
展开
-
Java核心---线程进阶
乐观锁 VS 悲观锁乐观锁:(CAS(比较并且交换)、ABA、JUC) 乐观锁假设认为数据一般情况下不会产生并发冲突,所以在数据进行提交更新的时候,才会正式对数据是否产生并发冲突进行检测,如果发现并发生冲突了,则让返回用户错误的信息,让用户决定如何去做。悲观锁:(synchronized) 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。悲观锁的问题: 总是需要竞争锁,进而导致发生线程切换,挂起其他线程;所以性能不高;原创 2021-05-27 23:10:51 · 245 阅读 · 1 评论 -
常见线程池详解(一篇足以)
线程的缺点线程的创建需要开辟内存资源:本地方法栈、虚拟机栈、程序计数器等线程私有变量的内存,频繁的创建和消耗会带来一定的性能开销;使用线程不能很好的管理任务和有好的拒绝任务;线程池定义:使用池化技术来管理和使用线程的技术就叫做线程池。线程池的创建方式第一种创建固定个数的线程池线程池的执行流程:当拿到一个任务后,会判断当前线程池里面的线程数量是否达到最大值,如果有达到创建新的线程执行任务;当任务来了后线程池里面包含的重要内容(2个)线程队列schedule 区别没有延迟执行的时原创 2021-05-20 22:53:15 · 170 阅读 · 0 评论 -
Java核心知识---初识线程
最早的并发编程是多进程并发编程。多个进程不能共享资源。线程(Thread)进程是系统分配资源的最小单位,线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的;一个进程内最少包含一个线程,即主线程;线程必须依附进程才能存活。进程不可以共享资源,而线程可以。线程可以共享的资源打开的文件内存(对象)线程不可共享的资源线程栈信息优先级注意:当线程的数量达到某个合适的值是最好的,如果太多的线程,就会出现线程之间的争抢和CPU的过度调度问题了,而CPU调度是需要消耗系统资源的原创 2021-04-26 16:45:42 · 167 阅读 · 0 评论