自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程中的虚假唤醒

因为if只进行一次判断,假设当+1抢到了资源, 此时的num=1,其他三个线程进行资源抢夺,即使此时+1*抢到了资源,但是判断后,无法进行下面的代码,就沉睡下去,再当+1抢到资源时,就不会再从开始进行if判断了,从而会直接执行下面的++代码,使得num的值变为了2,导致线程不安全的情况,造成了虚假唤醒。扩容时,容量同样会增加为原来的1.5倍,并且所有键值对会重新哈希到新的位置上。中断和虚假唤醒是可能产生的,所以要用loop循环,if只判断一次,while是只要唤醒就要拉回来再判断一次。

2024-08-27 15:57:51 363

原创 线程间的通信

利用多线程实现包子的生产和消费步骤:首先创建一个包子对象,让两个线程中共享同一个包子对象创建生产者线程,生产包子,若生产完包子,就需要唤醒消费者线程,来消费包子,同时当前生产者线程等待创建消费者线程,消费包子,若把包子吃掉了,就需要唤醒生产者线程接着生产包子,当前消费者线程等待注意1 必须使用在synchronized范围内2 必须先唤醒,在等待。

2024-08-27 15:48:42 477

原创 Java 多线程

进程:即正在执行的应用程序线程:程序功能执行的最小单位(代码运行的通道)二者关系:一个进程中包含了多个线程(至少一个)多线程并发: 一个时间段之内,有多个线程执行。多线程并行:(多cpu情况下) 同一时刻有多个线程同时执行。

2024-08-27 14:59:07 396

原创 Java IO 流

此处字符串里的内容为添加的注释 store(write,””)添加注释时使用中文会无法显示(会显示中文的16进制型),所以不要使用中文进行注释其中#后面显示的就为注释的信息将注释更改成非中文时 文件显示如下:Properties中储存的都为键值对的形式,可直接在文件中写入内容书写规范:需要一行一行的书写内容 eg:21=张三22=李四否则读取展示集合中内容时,系统会认为写在一行里的内容是一起的写入不能写成例如 21-hello-hi 形式的 会无法展示想要的信息内容。

2024-08-27 14:17:02 523

空空如也

空空如也

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

TA关注的人

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