自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 RabbitMQ的基本用法

路由模式的消息队列可以给队列绑定不同的key,生产者发送消息时,给消息设置不同的key,这样交换机在分发消息时,可以让消息路由到key匹配的队列中。上面案例中有一个问题:消费者处理消息的速度是不一样的,消费者1处理后睡眠10毫秒(Thread.sleep(10)),消费者2是1000毫秒,速度相差100倍,但是最后处理的消息数还是一样的。这样就存在效率问题:处理能力强的消费者得不到更多的消息。工作队列,生产者将消息分发给多个消费者,如果生产者生产了100条消息,消费者1消费50条,消费者2消费50条。

2024-01-14 15:46:12 1095 1

原创 什么是线程?线程的基本概念

进程:正在运行的程序,是操作系统分配系统资源(CPU、内存)的最小单位线程:进程是由多个线程组成的,是操作系统调度CPU的最小单元,每个线程可以单独执行指令进程更加重量级,操作系统创建和销毁进程需要更多的时间和资源,进程的相互通信更加复杂线程更加轻量级,操作系统创建和销毁线程消耗时间和资源更少,同一个进程的线程可以共享内存空间,通信更容易为什么要多线程?压榨CPU资源,执行高性能运算同时执行多个程序指令,相互不会影响服务器可以同时服务多个用户,互不影响并行和并发。

2023-12-25 22:12:51 957

原创 线程安全简单介绍

线程在抢占资源时,发现资源上锁,线程从用户态转为内核态进行等待,线程获得锁,重新执行前会从内核转为用户,转换过程会降低性能,切换的过程中需要保存或者读取程序计数器的代码行数和寄存器的数据,比较消耗时间。第18行代码判断对象为空,A线程进入,判断对象为空,准备创建对象,B线程抢占CPU进入,A线程阻塞,B线程判断为空,创建对象,A线程获得cpu后继续创建对象。方法上锁(同步方法),当第一个线程执行方法时,持有锁,其它线程无法进入方法,线程执行完后,自动释放锁,其它线程才能进入。

2023-12-23 10:05:48 943 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除