摘要: 守护线程 线程分为 用户线程 和 守护线程。 setDeamon(boolean) 方法 :将该线程标记为守护线程或者用户线程。 线程对象.setDaemon(true); //false 表示用户线程,true表示守护线程。 守护线程是这样的 所有的用户线程结束生命周期后,守护线程才会自动结束生命 阅读全文
posted @ 2021-04-08 15:54 失昼 阅读(30) 评论(0) 推荐(0)
摘要: 死锁 什么是死锁? - 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。 死锁出现的原因? (1) 因为系统资源不足。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 (2) 阅读全文
posted @ 2021-04-08 15:38 失昼 阅读(42) 评论(0) 推荐(0)
摘要: 类锁 * 对象锁(synchronized method{})和类锁(static sychronized method{})的区别 - 对象锁也叫实例锁,对应synchronized关键字,当多个线程访问多个实例时,它们互不干扰,每个对象都拥有自己的锁,如果是单例模式下,那么就是变成和类锁一样的功 阅读全文
posted @ 2021-04-08 15:15 失昼 阅读(65) 评论(0) 推荐(0)
摘要: 线程同步 * 异步编程模型和同步编程模拟的区别? - 有T1和T2 两个线程 > 异步编程模型:T1线程执行T1的,T2线程执行T2的,谁也不等谁 > 同步编程模型:T1和T2 线程执行,当T1线程必须等T2线程执行结束后才能执行,这是同步编程模型 什么时候需要同步? 为了数据的安全 例如:同一银行 阅读全文
posted @ 2021-04-08 14:43 失昼 阅读(67) 评论(0) 推荐(0)
摘要: join() 方法 * 合并线程 join()线程合并方法出现在哪,就会和哪个线程合并 (此处是thread和主线程合并), * 合并之后变成了单线程,主线程需要等thread线程执行完毕后再执行,两个栈空间变成了一个栈空间。 * 代码 package com.shige.Thread; /* 关于 阅读全文
posted @ 2021-04-08 14:32 失昼 阅读(36) 评论(0) 推荐(0)
摘要: yield() 方法 - Thread.yield() 该方法是一个静态方法, 作用是给同一个优先级的线程让位,阻塞当前线程,但是阻塞时间不可以指定,是随机的。 - Thread.yield() 和 sleep()方法类似,只是.yield()方法阻塞时间是随机的,不可以指定。 代码 package 阅读全文
posted @ 2021-04-08 13:14 失昼 阅读(49) 评论(0) 推荐(0)
摘要: 中止线程方法一 * 在线程类中定义一个bollean类型的变量,默认值设置为ture,如果想要中断线程,只需要将该boolean类型的变量设置为false就可以了 * 代码 package com.shige.Thread; /* 中止线程 线程启动5s之后中止 */ public class Th 阅读全文
posted @ 2021-04-08 12:57 失昼 阅读(38) 评论(0) 推荐(0)
摘要: interrupt() 方法 中断线程 * interrupt()方法的简单理解 - interrupt() 方法只是改变线程的阻塞状态而已,让一个正在阻塞状态的线程,恢复执行。但是它不会中断一个正在运行的线程。 - 这一方法实际完成的是,给受阻塞的线程发出一个中断阻塞信号,这样受阻线程就得以退出阻 阅读全文
posted @ 2021-04-08 12:42 失昼 阅读(63) 评论(0) 推荐(0)
摘要: sleep()方法 (二) * 因为sleep()是静态方法,所以用 线程对象名.sleep() 和 Thread.sleep()是一样的意思,用线程对象名调用并不等于让线程对象名所指向的线程阻塞,而是this.Thread()阻塞。 * 代码 ``` package com.shige.Threa 阅读全文
posted @ 2021-04-08 12:20 失昼 阅读(42) 评论(0) 推荐(0)
摘要: 线程sleep()方法 * public static void sleep​(long millis) throws InterruptedException * Thread.sleep(),该方法的作用是在指定的毫秒数内让当前 “正在执行的线程” 休眠(暂停执行)。这个“正在执行的线程”是指 阅读全文
posted @ 2021-04-08 12:03 失昼 阅读(96) 评论(0) 推荐(0)
摘要: 线程的调度 * 单核CPU在某一时刻只能执行一条指令,线程只有得到CPU的时间片,也就是使用权,才可以执行指令 * 在单核CPU的机器上线程不是并行运行的,而是频繁切换运行的,只有在多个CPU上线程才可能并行运行。 * Java虚拟机要负责线程的调度,取得CPU的使用权,目前有两种调度模式:**分时 阅读全文
posted @ 2021-04-08 10:36 失昼 阅读(102) 评论(0) 推荐(1)