重难点
文章平均质量分 73
小解的秃头之旅
这个作者很懒,什么都没留下…
展开
-
线程三:线程安全问题及其解决方法
1. 线程安全的根本原因是并发编程的抢占式执行,直接原因是原子性问题。2. synchronized 关键字解决的时原子性问题,volatile 关键字解决的是可见性问题和有序性问题,此处有序性问题指的是指令重排序。3. 内存可见性和指令重排序其实都是编译器对代码做出的优化。在单线程进程中对代码的优化作用还是可观的。原创 2024-09-19 19:27:42 · 834 阅读 · 1 评论 -
线程中 start() 和 run() 的区别
1). run() 方法是线程的主体,它是线程需要执行的方法;start() 方法是线程的启动方法,用于启动一个新线程。2). run() 方法通常包含线程的执行逻辑,可以自定义逻辑。3). run() 方法在当前调用的线程中执行,start() 方法是在新的线程中运行当前线程对象的 run() 方法。4). 直接调用 run() 方法只是在当前线程中按顺序执行 run() 方法的内容,调用 start() 方法创建新线程后是并发执行,无法确定代码执行顺序。原创 2024-09-18 21:04:13 · 309 阅读 · 0 评论 -
创建线程的方式
创建Java的几种方式原创 2024-09-16 18:33:07 · 859 阅读 · 0 评论 -
进程和线程的关系
进程和线程的关系区别原创 2024-09-14 21:12:39 · 234 阅读 · 1 评论