JUC并发编程 java.util.ConcurrentModificationException 并发修改异常 多线程基础 普通线程代码Thread Runnable没有返回值,效率相比于Callable慢 线程和进程 进程:一个程序,程序的集合 一个进程往往可以包含多个线程至少包含一个 java ...
分类:
其他好文 时间:
2021-04-20 14:17:55
阅读次数:
0
1.前言说明 前面一篇博客中提到了使用原生java代码进行测试RabbitMQ实现多种交换机类型的队列场景。但是在项目中我们一般使用SpringBoot项目,而且RabbitMQ天生对于Spring的支持是非常良好的,所以这里基于SpringBoot我搭建了一个模拟购买商品订单下单并发送消息使用Ra ...
分类:
编程语言 时间:
2021-04-19 15:56:39
阅读次数:
0
题目: 我们提供一个类: class FooBar { public void foo() { for (int i = 0; i < n; i++) { print("foo"); } } public void bar() { for (int i = 0; i < n; i++) { prin ...
分类:
编程语言 时间:
2021-04-19 14:40:03
阅读次数:
0
一、释放锁 1.void unlock()方法 尝试释放锁,如果当前线程持有锁,则调用该方法会让该线程对该线程持有的AQS状态值减1,如果减去1后当前状态值为0,则当前线程会释放该锁,否则仅仅减去1而已,如果当前线程没有持有该锁而调用了该方法就会抛出IllegalMonitorStateExcept ...
分类:
编程语言 时间:
2021-04-16 12:19:27
阅读次数:
0
对于cpu来说,直接访问内存是比较耗时的,为了提高访问性能,现代计算机在cpu模块都加上了缓存(一般有3级缓存),cpu访问缓存的速度比直接访问内存的速度提高了很多。cpu在计算时会先从缓存中查找数据,如果在缓存中没有找到(缓存未命中),则从内存中查找并加载到缓存中,然后再把数据从缓存加载到寄存器中 ...
分类:
其他好文 时间:
2021-04-16 12:19:07
阅读次数:
0
1.特点 (1)善于I/O,不善于计算 当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,node.js就非常适用。node.js也非常适用与websocket配合,开发长连接的实时交互应用程序。 node.js最擅长的就是任务调度,如果你的 ...
分类:
其他好文 时间:
2021-04-16 12:18:18
阅读次数:
0
模拟cpu使用率 脚本: 可以将1个cpu-core打满 k.c #include <stdlib.h> int main() { while(1); return 0; } gcc -o out k.c ./out 查看top可以看到将1个cpu-core打满,可以根据需要,并发启动多个进程将多个 ...
分类:
其他好文 时间:
2021-04-16 12:03:28
阅读次数:
0
Thread类是怎么创建线程的 java中运行一个线程有好多方式,比如实现一个Runnable接口然后传递给Thread构造函数,还是交给线程池来创建线程执行等等。但是最后都是创建new Thread对象,最后通过thread.start方法来启动一个线程。 但是Java中Thread类只是一个普通 ...
分类:
其他好文 时间:
2021-04-15 12:41:22
阅读次数:
0
1:对synchronized的理解: 1.1 :假设t1和t2并发,开始执行时肯定有先有后 1.2:假设t1先执行,看到synchronized这个时候自动找“后面的共享对象”的对象锁,找到后并占有锁,然后执行后面同步代码块,在程序执行过程一直都是占有这把锁,直到同步代码块结束,锁才释放。 1.3 ...
分类:
其他好文 时间:
2021-04-15 12:38:55
阅读次数:
0
1.配置线程 #是否允许并行执行true/false junit.jupiter.execution.parallel.enabled = true #是否支持方法级别多线程same_thread/concurrent junit.jupiter.execution.parallel.mode.de ...
分类:
编程语言 时间:
2021-04-15 12:31:45
阅读次数:
0