随笔分类 -  【F】Java并发

记录在Java开发中并发领域的学习 学习资料来源于黑马程序员
摘要:常见方法 方法名 static 功能说明 注意 start() 启动一个新线程,在新的线程运行 run 方法中的代码 start 方法只是让线程进入就绪,里面代码不一定立刻运行(CPU 的时间片还没分给它)。每个线程对象的start方法只能调用一次,如果调用了多次会出现 IllegalThreadS 阅读全文
posted @ 2023-05-15 19:24 |旧市拾荒| 阅读(77) 评论(0) 推荐(0)
摘要:1、线程运行原理 1.1 栈与栈帧 Java Virtual Machine Stacks (Java 虚拟机栈 JVM) 我们都知道 JVM 中由堆、栈、方法区所组成,其中栈内存是给谁用的呢?其实就是线程,每个线程启动后,虚拟机就会为其分配一块栈内存。 每个栈由多个栈帧(Frame)组成,对应着每 阅读全文
posted @ 2023-05-05 22:14 |旧市拾荒| 阅读(406) 评论(2) 推荐(0)
摘要:一、直接使用 Thread // 创建线程对象 Thread t = new Thread() { public void run() { // 要执行的任务 } }; // 启动线程 t.start(); 例如: // 构造方法的参数是给线程指定名字,推荐 Thread t1 = new Thre 阅读全文
posted @ 2023-04-24 22:07 |旧市拾荒| 阅读(344) 评论(0) 推荐(0)
摘要:1、并行 并行代表充分利用多核 cpu 的优势,提高运行效率。 想象下面的场景,执行 3 个计算,最后将计算结果汇总。 计算 1 花费 10 ms ​ 计算 2 花费 11 ms ​ 计算 3 花费 9 ms ​ 汇总需要 1 ms 如果是串行执行,那么总共花费的时间是 10 + 11 + 9 + 阅读全文
posted @ 2023-04-13 21:56 |旧市拾荒| 阅读(312) 评论(0) 推荐(0)
摘要:一、进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的 当一个程序被运行,从磁盘加载这个程序的代码至内存,这时就开启了一个进程。 进程就可以视为程 阅读全文
posted @ 2023-04-10 20:42 |旧市拾荒| 阅读(438) 评论(0) 推荐(0)