摘要: Object类中的wait和notify方法(生产者和消费者模式) 不是通过线程调用 wait(): 让正在当前对象上活动的线程进入等待状态,无期限等待,直到被唤醒为止notify(): 让正在当前对象上等待的线程唤醒notifyAll(): 唤醒当前对象上处于等待的所有线程 生产者和消费者模式 生 阅读全文
posted @ 2020-08-10 10:48 javase--> 阅读(370) 评论(0) 推荐(0)
摘要: 实现Callable接口(jdk8新特性)可以获得线程的返回值 *前两种方式没有返回值,因为run方法返回void 创建一个未来任务类对象 Futrue task = new Future(Callable<>);重写call()方法 可以使用匿名内部类方式task.get()方法获取线程返回结果 阅读全文
posted @ 2020-08-10 10:38 javase--> 阅读(171) 评论(0) 推荐(0)
摘要: 守护线程:java语言中线程分为两大类:用户线程 守护线程(后台线程)守护线程: 其中具有代表性的就是垃圾回收线程守护线程特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束,即使守护线程为死循环 主线程main方法是一个用户线程守护线程用在什么地方: 每天0点的时候系统自动备份 阅读全文
posted @ 2020-08-10 10:17 javase--> 阅读(251) 评论(0) 推荐(0)
摘要: public class Test_10 { public static void main(String[] args) { Object object1 = new Object(); Object object2 = new Object(); Thread t1 = new Thread(n 阅读全文
posted @ 2020-08-10 09:49 javase--> 阅读(116) 评论(0) 推荐(0)
摘要: synchronized(共享对象){}线程同步代码块对象锁,一个线程占有后,另一个线程就无法占有了 实例变量在堆中 静态变量在方法区中 局部变量在栈中局部变量永远不会存在线程安全问题(局部变量不共享,一个线程一个栈)堆和方法区只有一个,是多线程共享的,所有可能存在线程安全问题局部变量和常量不会有线 阅读全文
posted @ 2020-08-10 08:30 javase--> 阅读(100) 评论(0) 推荐(0)