多线程
文章平均质量分 82
super-heng
这个作者很懒,什么都没留下…
展开
-
Java并发编程实战笔记 (四)锁
时,会尝试获取对象的锁,如果锁的计数器为 0 则表示锁可以被获取,获取后将锁计数器设为 1 也就是加 1。主要解决的是多个线程之间访问资源的同步性,可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。在java虚拟机中,锁获取的是对象监视器 monitor,在执行。指令后,将锁计数器设为 0,表明锁被释放,其他线程可以尝试获取锁。访问标志来辨别一个方法是否声明为同步方法,从而执行相应的同步调用。提供了一种无条件的、可轮询的、定时的以及可中断的锁获取操作。标识,该标识指明了该方法是一个同步方法。原创 2022-11-29 17:16:45 · 294 阅读 · 1 评论 -
Java并发编程实战笔记 (三)活跃性问题——死锁、饥饿、活锁
两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。死锁的几种类型:1.锁顺序死锁原因:两个线程试图以不同的顺序来获得相同的锁;如果所有线程以固定的顺序来获得锁,那么在程序中就不会出现锁顺序死锁2. 协作的对象间相互调用发生的死锁3. 资源型死锁。原创 2022-11-29 11:07:55 · 497 阅读 · 0 评论 -
Java并发编程实战笔记 (二)多线程安全程序开发
进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也被称为轻权进程或者轻量级进程。:同一进程的线程共享本进程的地址空间和资源,而进程之间的地址空间和资源是相互独立的。原创 2022-11-23 16:12:53 · 107 阅读 · 0 评论 -
Java并发编程实战笔记 (一)基础知识
当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为。线程安全类多个线程访问交替执行获得的结果 与 一个线程执行获得的结果一致当一个类是线程安全的,它就已经封装好了同步机制,无需在外界调用时再采取进一步的同步措施。原创 2022-11-17 16:17:49 · 202 阅读 · 1 评论