线程
文章平均质量分 70
hjk12345678910
这个作者很懒,什么都没留下…
展开
-
java——线程总结
这里写目录标题进程和线程的区别创建线程的两种方式线程的生命周期线程对象的名字获取当前线程对象sleep方法和interrupt方法线程的终止线程调度线程优先级线程让位线程插入线程安全(重点) 进程和线程的区别 进程是一个应用程序,线程是进程的一部分。进程是由多个线程组成的。 进程与进程之间相互独立,互不影响,资源不共享。 而线程之间,栈内存相互独立(一个栈是一个线程),但堆内存和方法区共享。如下图: 创建线程的两种方式 第一种:编写一个类,直接继承java.lang.Thread,然后重写run方法,在ru原创 2021-04-10 21:06:13 · 88 阅读 · 0 评论 -
java——模拟生产者和消费者模式
假设有一个出库,生产者往出库放货物,消费者拿出货物 仓库满了不能生产,出库空了不能消耗 现在用集合表示出库,仓库最多存10个元素 public class 生产者消费者问题 { public static void main(String[] args) { List list = new ArrayList(); Thread t1 = new Thread(new Producer(list)); Thread t2 = new Thread(new Comsummer(list));原创 2021-04-10 21:04:16 · 182 阅读 · 0 评论 -
java——线程安全总结
线程安全总结存在线程安全问题的三个条件解决线程安全问题的方法:线程同步机制(关键字:synchronized)synchronized的其他用法synchronized面试题死锁 存在线程安全问题的三个条件 1、多线程并发 2、有共享数据(重点) java中的三大变量:实例变量、静态变量、局部变量 实例变量和静态变量分别存在堆内存和方法区内存,是唯一的,属于共享数据,故线程不安全 而局部变量是在栈内存中,一个栈内存是一个线程,局部变量永远不会共享,所以是线程安全的。 3、共享数据有修改行为 解决线程安全问题原创 2021-04-10 13:59:16 · 90 阅读 · 0 评论