【JUC-汇总】

一、基础

1.1 简介

链接

【JUC-简介】一、线程1.1 简介进程进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。线程线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。一个程序运行后至少有一个进程,一个进程中可以包含多个线程。多线程即就是一个程序中有多个线程在同时执行1.2线程状态图示五种状态新建状态(.https://blog.csdn.net/m0_58419935/article/details/120382281

1.2 实现多线程

链接

【JUC-实现多线程】一、基础1.1 介绍实现方法常用的实现多线程的2种方式:Thread和Runnable。之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程。1.2Runnable定义Runnable是一个接口,该接口中只包含了一个run()方法。它的定义如下:public interface Runnable { public abstract void run();}作用实现多线程。我们可以定义一个类A实.https://blog.csdn.net/m0_58419935/article/details/120382448

二、线程池

链接

【JUC-线程池】一、基础1.1 简介作用限制系统中执行线程的数量根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。用线程池控制线程数量,其他线程排队等候。一个任务执行完毕,再从队列的中取最前面的任务开始执行。若队列中没有等待进程,线程池的这一资源处于等待。当一个新任务需要运行时,如果线程池中有等待的工作线程,就可以开始运行了;否则进入等待队列。优点降低资源的消耗提高响应的速度  方便管理..https://blog.csdn.net/m0_58419935/article/details/121889163

三、锁

3.1 简介

链接

【JUC-锁】一、简介简介Java中划分锁的方式不同,就产生了各种对锁的定义。并发控制当程序中可能出现并发的情况时,就需要保证在并发情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这就叫做并发控制。并发控制的目的是保证一个用户的工作不会对另一个用户的工作产生不合理的影响。没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。二、分类线程是否需要锁住共享的资源悲观锁-- 锁住(synchronized、lock接口)https://blog.csdn.net/m0_58419935/article/details/121912169

3.2 悲观锁、乐观锁

链接

【JUC-悲观锁、乐观锁】一、概括优点乐观锁并未真正加锁,效率高。一旦锁的粒度掌握不好,更新失败的概率就会比较高,容易发生业务失败。悲观锁依赖数据库锁,效率低。更新失败的概率比较低。适用场景乐观锁(多读少写场景)即冲突真的很少发生的时候,这样可以省去了锁的开销,加大了系统的整个吞吐量。悲观锁(多写少读场景)多写的情况,一般会经常产生冲突,这就会导致上层应用会不断的进行retry,这样反倒是降低了性能。二、悲观锁基础总是假设最坏的情况,每次去拿数据的时候https://blog.csdn.net/m0_58419935/article/details/121912188

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值