自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 单例模式(校招经典面试题)!!!!

那么如何解决呢,利用synchronized(加锁)来解决,也就是上述代码,那么这个代码真的很好嘛,网上百分之九十以上的博客是这么教你的!但是还有一个小小的问题,即使发生的概率很小,但如果在实际开发中可能就会造成bug!在实际开发中当我们某个资源有限的情况,把所有的任务都完成是没有必要的,只需完成最近需要的就可。而(2)修改了数据,可能会导致多个线程修改一个变量,进而导致线程不安全问题,下面链接的第二条。饿汉模式,也就是(1),认为线程是安全的,只是读数据,而没有修改数据;这一步就会可能导致指令重排序!

2024-02-03 22:45:22 513 1

原创 wait和sleep对比(经典面试题)

4、再进一步,只是java这里的sleep和wait用法上看起来很像,其他语言或者系统也提供了sleep和wait这样的方法,就差别很明显了。1、首先,最大的区别在于初心不同:wait是解决线程之间的顺序问题,sleep仅仅是让线程休眠一会。1、wait有一个带参数的版本,用来体现超时时间,这方面和sleep很像。3、wait是Object的方法,sleep是Thread的静态方法。2、wait需要搭配synchronized使用,sleep不需要。2、wait和sleep都可以提前唤醒。

2024-02-02 20:18:31 446

原创 线程不安全的原因(实际开发中经常出bug的地方)

3、修改操作不是原子(不是一气呵成)的。4、内存可见性,引起的线程不安全。5、指令重排序,引起的线程不安全。1、抢占式执行(最常出现)2、多个线程修改一个变量。

2024-02-01 22:33:06 405

原创 thread的中interrupt方法的作用(易理解错)

当sleep被唤醒的时候,sleep会自动把isinterrupted标志位清空(true->false)2、如果该线程正在阻塞中(比如在执行sleep)这就导致下次循环,循环仍然可以继续执行。通过抛出异常方式让sleep立即结束。1、设置标志位为true。此时就会把阻塞状态唤醒。

2024-02-01 20:34:56 430

原创 线程创建的五种写法(最全)(第五种也是实际开发中最常用最简单的一种)

线程五种创建方法及实际开发中常使用的方法

2024-02-01 16:09:47 558 2

空空如也

空空如也

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

TA关注的人

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