JavaSE
2020-12-13 04:23
标签:图片 变量 效率 内存 无法 生产者 main 线程状态 最大的 运行机制
异常 线程 Java程序运行的时候底层也是多线程,除了main,gc也在同时运行。 线程状态:
线程同步(多个线程要访问同一份资源) 1. 同步块 Synchronized(引用类型){} 2. 同步方法 Public synchronized test(){} 线程安全:hashtable stringbuffer (synchronized)效率相对低下 多线程 1. 继承thread类(重写run方法-使用线程) 缺点:Java是单继承,如果已经继承了一个类,无法继承其他类。 2. 实现runnable接口(重写run方法,静态代理?) 2-1设计类,实现runnable接口,重写run方法 2-2启动多线程(创建真实角色-创建代理角色,持有真实对象的引用-执行任务) 优点:避免单继承,方便共享资源(可创建多个代理对象) 守护线程 后台运行的线程,随着主线程运行而同时运行,而主线程如果消失,则所有守护线程也消失。 应用:GC(最大的守护线程)、状态监听服务。 Volatile??????/// 跟同步没有任何关系,只是用来提高内存中变量访问效率 死锁(过多的同步 占用资源不放,彼此需要对方的资源) 解决方法之生产者消费者模式(生产者和消费者都分别是1个线程,当生产者生产完1个数据后,消费者要立即取走数据。)
JavaSE 标签:图片 变量 效率 内存 无法 生产者 main 线程状态 最大的 原文地址:https://www.cnblogs.com/NeverGiveUp0/p/11109000.html