多线程
franky814
这个作者很懒,什么都没留下…
展开
-
同步代码块和同步函数的区别
同步代码块可以绑定任意对象,而同步函数只能绑定该类对象this,static同步函数只能绑定字节码类名.class如果多个线程使用同一个锁的话,那么两者均可以使用,如果存在多个锁的话,只能使用同步代码块开发推荐使用同步代码块原创 2014-12-06 17:42:13 · 1420 阅读 · 0 评论 -
饿汉模式和懒汉模式的多线程访问问题
/** * 饿汉模式与懒汉模式的使用实例 * 1.饿汉模式不存在线程安全问题,因为单例对象在对象创建时候,已经存在 * 2.懒汉模式存在线程安全问题,线程访问的时候可能创建多个单例对象 * 3.推荐用饿汉模式进行多线程的访问,不存在线程安全问题 */public class SingleThreadAccess { public static void main(String[]原创 2014-12-06 15:35:06 · 627 阅读 · 0 评论 -
多线程死锁实例
/** * 多线程死锁实例:两个锁进行嵌套,造成死锁 */public class DeadLock { public static void main(String[] args) { Task task1 = new Task(true); Task task2 = new Task(false); new Thread(task1).start(); new Th原创 2014-12-06 20:39:47 · 489 阅读 · 0 评论 -
多线程的基本使用实例
/** * 多线程基本使用实例 * 1.第一种实现方法:继承Thread父类,子类中重写run()方法,方法体中放入任务代码, * 然后new出子类对象,使用start()方法开启子线程,但这种开启方式的弊端是子类如 * 果继承了Thread类,那么就无法再继承其他类,有很大局限性 * 2.第二种实现方法:对象类实现Runnable接口,重写run()方法,方法体中放入任务代原创 2014-12-05 23:12:55 · 606 阅读 · 0 评论 -
多线程:interrupt()方法 守护线程 join()方法 及优先级
interrupt()方法可清除线程的冻结状态,使其继续执行,但会抛出InterruptedException异常,可以捕获并进行相应的处理;setDaemon()方法可以将线程设置为守护线程或用户线程,但必须在线程开启前调用,该方法首先调用checkAccess方法,检测是否有权修改该线程,并且当运行的线程都是守护线程时,Java虚拟机退出,程序结束;线程启用join()方法启用后,被要求j原创 2014-12-28 01:33:07 · 405 阅读 · 0 评论 -
多线程:生产者消费者实例
import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * 生产者消费者实例 */public class ProducerAndConsumer { public s原创 2014-12-07 21:32:29 · 1233 阅读 · 0 评论 -
验证多线程中同步函数锁是this对象
/** * 验证同步函数的锁是this对象 */class TestThreadLock { public static void main(String[] args) throws InterruptedException { Custom custom = new Custom(); Thread t1 = new Thread(custom); Thread t2 =原创 2014-12-06 14:54:59 · 537 阅读 · 0 评论 -
Android中的线程池
回顾TimeInterpolator插值器和TypeEvaluator估值器的使用方式。原创 2018-08-18 14:25:15 · 260 阅读 · 0 评论