自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liushuailei的博客

我只是感觉运气不好,从来没有怀疑过自己的才华

  • 博客(7)
  • 收藏
  • 关注

原创 并发编程(六)java Thread.start()源码解读

线程对象在初始化完成之后,调用start()方法就可以启动这个线程。线程start()方法的含义是:当前线程(即parent线程)同步告知Java虚拟机,只要线程规划器空闲应立即启动调用start()

2022-12-06 15:09:23 344 1

原创 并发编程(五)java Thread.init()源码解读

一个新构造的线程对象是由其parent线程来进行空间分配的,而child线程继承了parent是否为Daemon、优先级和加载资源的contextClassLoader以及可继承的ThreadLocal,同时还会分配一个唯一的(sync)ID来标识这个child线程。至此,一个能够运行的线程对象就初始化好了,在堆内存中等待着运行。

2022-11-30 22:31:24 535

原创 并发编程(四)java线程状态转换

在Thread源码中有有一个内部枚举类State,其中标注了6中状态,网上也有好多说7种状态。其实是运行状态中细分了运行中和就绪状态(通过yield()方法调用,也可以是没有抢到cpu时间片)

2022-11-29 21:39:54 135

原创 并发编程(三)java线程状态log日志解读 - Stack log 解读

我们可能在平时会用到jstack命令,进行线程状态查看,下面简单解读一下jstack中日志。其中有示例代码进行演示。

2022-11-28 22:25:25 1451

原创 并发编程(二)java线程优先级和守护线程

本文介绍了java的线程的优先级和守护线程,在Java线程中,通过一个整型成员变量priority来控制优先级,优先级的范围从1~10。Java虚拟机中不存在非守护线程的时候,Java虚拟机会退出。

2022-11-27 01:41:37 1389

原创 并发编程(一)java运行总共有几条线程?

在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。 当前的main函数就是一个 JVM 进程。 打印出来的6条线程信息就是进程中的多条线程

2022-11-25 23:51:49 549

原创 Java并发篇:volatile为什么不能多条保证原子性 ?volatile为什么能保证单条原子性?

我个人总结理解的两方面影响: j简单举例说明,就不用看下面详细解释了: i=0; A,B2个线程各i++ 50000次 1.线程A 读到i=0时,A阻塞,B也读到i=0,进行i++ 写到主存,此时i=1,A继续执行进行i++,i=1写回主存。 2.MESI协议中,AB同时进行修改i,此时裁决机制进行裁决设A为M状态,B为I状态,那么B修改无效,并且浪费一次,A进行i++把i=1写回主存。 分别执行三次,每次结果各不相同: 输出最后结果:93873 输出最后结果:80319 输出最后结果:9

2022-05-11 00:58:18 996 5

空空如也

空空如也

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

TA关注的人

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