随笔分类 - 多线程与高并发
摘要:interrupt相关的三个方法: public void interrupt() //t.interrupt() 打断t线程(设置t线程某给标志位f=true,并不是打断线程的运行)public boolean isInterrupted() //t.isInterrupted() 查询打断标志位
阅读全文
摘要:NEW : 线程刚刚创建,还没有执行start启动 RUNNABLE : 可运行状态,由线程调度器可以安排执行 包括READY和RUNNING两种细分状态 WAITING: 等待被唤醒 TIMED WAITING: 隔一段时间后自动唤醒 BLOCKED: 严重被阻塞,正在等待锁(只有synchron
阅读全文
摘要:20221129:从正定方舱出来了,哇,呼吸呼吸新鲜空气的感觉真好,隔壁河北工商职业学院的小哥,忘记加他微信,自己的手机没信号,看小哥打的csgo和 植物僵尸人大战挺好看的,加上这小哥微信就好了,回头教教我打,哇哈哈哈哈。 static class MyThread extends Thread {
阅读全文
摘要:1.线程的历史(CPU效率压榨的历史) 单进程人工切换 -纸带机 CPU利用率不高,CPU在等人切换纸带. 多进程批处理 -多个任务批量执行 ABCDE5个任务(一个QQ,一个微信,一个传奇,一个QQ音乐,一个WPS)批量执行,A卡住了,后面BC...都不能执行. 多进程并行处理- 把程序写在不同的
阅读全文
摘要:一、内存管理的发展历程: DOS时代:同一时间只能有一个进程在进行(也有一些特殊算法可以支持多进程).大小例如64K。 windows9x:多个进程装入内存,大小例如8M,16M,多个进程全部装入进程,有两个问题 : 1). 很容易内存称爆。 解决内存撑爆:分块装入页框中(内存页4K标准),用到哪一
阅读全文
摘要:进程就是一个程序运行起来的状态,线程是一个进程中的不同的执行路径。 专业:进程是OS分配资源的基本单位,线程是执行调度的基本单位。分配资源最重要的是:进程独立的内存空间,线程调度执行(线程共享进程的内存空间,没有自己独立的内存空间) 下面这哥们对CPU组成说的很好。 https://blog.csd
阅读全文
摘要:CPU在进行读等待的同时执行指令,是CPU乱序的根源,不是乱,而是提高效率. 指令1:去内存中读取数据,等待内存返回,CPU去内存读取数据,CPU本身和内存的速度是100 : 1,所以他会一直等待内存返回; 指令2:与指令1没有任何依赖关系,且不去内存中读数据,那么指令2就会优先执行; 代码写的时候
阅读全文
摘要:缓存行对齐:对于有些特别敏感的数字,会存在线程高竞争的访问,为了保证不发生伪共享,可是使用缓存行对齐的编程方式。 disruptor: public long p1,p2,p3,p4,p5,p6,p7 //cathe padding private volatile cursor = INITIAL
阅读全文
摘要:Intel CPU 的缓存行是64个字节.每个lang占用8个字节,我们分别运行一下 new long[2] , new long[16] 各自运行10亿次赋值操作,两个线程在保持一致性的情况下,比较效率会发现new long[16] 比new long[2]的程序快1/3左右。 因为 new lo
阅读全文

浙公网安备 33010602011771号