多线程
文章平均质量分 92
只要酸菜不要鱼
在读学生
展开
-
多线程—Synchronized关键字
最近学了多线程的锁机制,记录一下,以便日后复习。 一、引言 多线程中经常会出现多个线程访问同一共享资源的情况(多线程共享资源可以节省系统开销、提高效率),但也会导致数据访问冲突。如何实现线程间的有机交互,并确保共享资源在某时只能被一个线程访问,就是线程同步。线程锁则是实现线程同步的方法。 二、多线程的锁机制 所谓的多线程的锁,就是能够防止多线程同时访问同一共享资源,保障同一时间只有一个线程访问共享资源。 两个基本的锁机制:synchronized和lock。 2.1 synchronized ...原创 2021-07-21 20:39:00 · 144 阅读 · 0 评论 -
深入理解ThreadLocal
一、什么是ThreadLocal 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想要实现每个线程都有自己的专属本地变量该如何解决呢? Jdk提供的ThreadLocal类正是为了解决这样的问题。 ThreadLocal类主要解决的是让每个线程绑定自己的值,即每个线程可以拥有属于自己的私有数据。 ThreadLocal提供了线程本地的实例,它和普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的实例副本。 ThreadLocal变量通常被private static修饰,当一个线原创 2021-07-12 12:53:19 · 201 阅读 · 0 评论 -
深入理解多线程
简单记录一下最近学习的多线程内容,用以日后复习所用。 一、何为线程和进程? 1.1 进程 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。 在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。 但进程存在着一定的缺陷: 1)进程同一时间只能做一件事 2)进程在执行过程中如果由于某种原因阻塞了,例如等待输入,整个进程就会挂起,其他与输入无关的操作也必须等待输入完成后才能顺序执行。 因此,引入了线原创 2021-07-16 15:21:25 · 293 阅读 · 0 评论