并发
文章平均质量分 85
weixin_46101560
这个作者很懒,什么都没留下…
展开
-
一步一步源码分析线程创建
方法2,使用 Runnable 配合 Thread 把【线程】和【任务】(要执行的代码)分开 也可使用lambda表达式 方法3,FutureTask 配合 Thread FutureTask 能够接收 Callable 类型的参数,用来处理有返回结果的情况 例子测试 *在创建线程时,Thread的构造方法 init是重写的方法 中间有一行是this.target=target; 将Runnable的对象赋值。 start0方法 最后一个是重点,前面target赋值了,所以不为null可原创 2022-06-10 17:46:35 · 232 阅读 · 0 评论 -
并发:进程与线程
单核 cpu 下,线程实际还是 串行执行 的。操作系统中有一个组件叫做任务调度器,将 cpu 的时间片(windows下时间片最小约为 15 毫秒)分给不同的程序使用,只是由于 cpu 在线程间(时间片很短)的切换非常快,人类感觉是同时运行的。总结为一句话就是: 微观串行,宏观并行 。 一般会将这种 线程轮流使用 CPU 的做法称为并发以调用方角度来讲,如果 同步 异步 多线程可以让方法执行变为异步的(即不要巴巴干等着)比如说读取磁盘文件时,假设读取操作花费了 5 秒钟,如果没有线程调度机制,这 5原创 2022-06-10 15:52:22 · 109 阅读 · 0 评论