并发编程
Hanks_jy
这个作者很懒,什么都没留下…
展开
-
并发编程学习笔记3
并发编程之synchronized同步1.java级别的知识-synchronized1.1 k=k+1这条指令java意义上是一行代码,两条指令,得到的汇编代码.o文件,然后再反汇编成可以看懂的机器码就更多了t1线程执行时只做完k+1,当t2线程来时,此时k还是原值,所以两个线程执行,最后的结果只进行了1次加法caslock.lock();2.caslockvolatile status = 0;unsafe.compareAndSwapInt(this,valueOf原创 2020-08-28 21:19:02 · 121 阅读 · 0 评论 -
并发编程学习笔记2
多线程锁的os内核理解os同步的方式1.互斥量(mutex)2.自旋锁(spinlock)3.信号量sysnchronized1.关键字实现在interpreterRuntime.cpp中的moniterenter2.synchronizer.cpp底层使用的不是自旋锁jvm内部获取锁的时候也没有自旋3.锁膨胀mutex操作系统级别同步原语man pthread_mutex_init初始化和销毁一个互斥量(一把锁)引入pthread.h头文件mutexte原创 2020-08-27 00:41:08 · 134 阅读 · 0 评论 -
并发编程学习笔记1
线程基础概念和java中的线程-0823java中的线程和操作系统的线程是什么关系1.java线程的本质start方法启动后,调用软方法run()start()源码的线程控制原语start0();native方法,JNI方法,对应于一个c语言方法怎么看这个方法,在github上下载open jdk方法为什么下的是jdk11,编译jdk11必须要有jdk8的代码底层是jvm.cppjvm_startThread()pthread_create(),由glibC提供,四个参原创 2020-08-23 22:34:49 · 133 阅读 · 2 评论