
java并发
文章平均质量分 63
分享java并发相关面试题
我是来人间凑数的
一个工作多年,技术却不咋地的程序媛
展开
-
父子线程如何共享数据?
使用InheritableThreadLocal类。原创 2024-01-25 11:44:53 · 683 阅读 · 0 评论 -
第三天:对ThreadLocal理解
ThreadLocal,也就是线程本地变量。如果你创建了一个 ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个本地副本,多个线程操作这个变量的时候,实际是操作自己本地内存里面的变量,从而起到线程隔离的作用,避免了线程安全问题。threadLocal内存结构图。原创 2023-12-25 16:54:39 · 887 阅读 · 0 评论 -
第二天:线程与进程
为了让用户感觉多个线程是在同时执行的, CPU资源的分配采用了时间片轮转也就是给每个线程分配一个时间片,线程在时间片内占用 CPU执行任务。当线程使用完时间片后,就会处于就绪状态并让出 CPU让其他线程占用,这就是上下文切换。Java中的线程分为两类,分别为 daemon线程(守护线程)和 user线程(用户线程)。在 JVM启动时会调用 main函数,main函数所在的钱程就是一个用户线程。其实在 JVM内部同时还启动了很多守护线程,比如垃圾回收线程。那么守护线程和用户线程有什么区别呢?原创 2023-12-19 15:28:15 · 855 阅读 · 0 评论 -
第一天:并行与并发的区别
并发的实现依赖于 CPU 切换线程,因为切换的时间特别短,并行就是同一时刻,两个线程都在执行。这就要求有两个 CPU 去分。就好像我们去食堂打饭,并行就是我们在多个窗口排队,几个阿姨同时打。并发就是我们挤在一个窗口,阿姨给这个打一勺,又手忙脚乱地给那。并发就是同一时刻,只有一个执行,但是一个时间段内,两个线程都。从操作系统的角度来看,线程是 CPU 分配的最小单位。所以基本对于用户是无感知的。原创 2023-12-18 10:33:09 · 405 阅读 · 0 评论