fork():开启一个新线程(或是重用线程池内的空闲线程),将任务交给该线程处理。 join():等待该任务的处理线程处理完毕,获得返回值。 ForkJoinPool 的每个工作线程都维护着一个工作队列(WorkQueue),这是一个双端队列(Deque),里面存放的对象是任务(ForkJoinTa ...
分类:
其他好文 时间:
2018-08-17 21:34:50
阅读次数:
146
1. 启动jmeter,默认有一个测试计划(可以修改计划名称) 2.建立一个线程组(Thread Group) Test Plan (鼠标右键) >添加 >Threads(Users) >线程组,修改线程组名称为:jwt微服务接口 说明:jmeter的所有任务都必须由线程处理,所有任务都必须在线程组 ...
分类:
其他好文 时间:
2018-08-13 12:24:05
阅读次数:
183
一、概述 非阻塞式IO的主要组成部分为Channel、Buffer和Selector。 通道可以向缓冲区写入数据,也可以从缓冲区读取数据。选择器允许单线程处理多个通道。 二、通道 通道类似流。不同之处在于通道是双向的、可异步读写、必须经过缓冲区。 主要的通道实现有 FileChannel:从文件读写 ...
分类:
编程语言 时间:
2018-08-12 21:29:14
阅读次数:
170
1、MySQL 逻辑架构,上层客户端 》连接/线程处理 》解析器 》优化器 》存储引擎,解析器如果有生成查询缓存,那么连接/线程处理也有可能直接到查询缓存,返回结果,图如下 2、并发控制,读写锁,共享锁,排他锁,锁粒度(表锁 table lock 行级锁 row lock) 3、事务 :原子性,一致 ...
分类:
数据库 时间:
2018-08-12 10:28:53
阅读次数:
192
传统的java实现socket通讯比较简单实现,不过它属于堵塞式的I/O流存取,只能由一个线程完成当前任务才能起下个一个线程,无法解决高并发; 1、简单的socketservice 对每一个Socket连接建立一个Handler处理线程,处理线程对inputstream流中的数据进行相应的处理后,将 ...
分类:
编程语言 时间:
2018-08-08 22:30:30
阅读次数:
181
1、Postmessage 与 SendMessage的区别 PostMessage该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。消息队列里的消息通过调用GetMessage和PeekMessage取得 SendMessage该函数将指 ...
分类:
其他好文 时间:
2018-08-08 20:30:44
阅读次数:
152
一、ThreadPoolExecutor的重要参数 corePoolSize:核心线程数 核心线程会一直存活,及时没有任务需要执行 当线程数小于核心线程数时,即使有线程空闲,线程池也会优先创建新线程处理 设置allowCoreThreadTimeout=true(默认false)时,核心线程会超时关 ...
分类:
编程语言 时间:
2018-07-28 21:48:51
阅读次数:
177
一、对线程的理解 1.一个程序运行起来至少有一个进程,一个进程至少有一个线程 2.处理器cpu分配给线程,即cpu真正运行的是线程中的代码 3.分配cpu给线程时,是通过时间片轮训方式进行的 4.进程是操作系统分配程序执行资源的单位,而线程是进程的一个实体,是CPU调度和分配的单位。 二、pytho ...
分类:
编程语言 时间:
2018-07-21 20:29:38
阅读次数:
182
初学 Winform 时,相信很多人都遇到过自己的程序在运行中出现了没有捕获的异常,导致程序退出的问题,在这种情况下,程序往往会弹出一个很不友好的信息框,然后强行退出。 程序出现了未捕获的异常,系统便认为它无法再继续工作了,所以强行结束了程序,这也是很正常的行为。但如果我们想要给用户显示一个比较友好 ...
之前有个项目需要将音频文件的频谱显示出来,想了很多办法,后面发现fmod这个好东西,还是跨平台的,就一个头文件+一个库文件就行,简单小巧功能强大,人家做的真牛逼。为了不卡住界面,采用了多线程处理。 可执行文件下载:https://pan.baidu.com/s/1JIjiCv800KPDZS9aSR ...
分类:
其他好文 时间:
2018-07-20 14:02:26
阅读次数:
443