摘要:
以前写多线程的弊端 用到线程的时候就创建 用完之后线程消失 为了避免浪费,所以我们需要一个容器 起初线程池是空的,当给线程池提交任务时会自动创建线程去执行任务,执行完后线程不消失,回归线程池,之后就不需要创建线程 当线程正忙着执行一个任务时,会创建新的线程 核心原理 1.创建空池子 2.提交任务时, 阅读全文
摘要:
一个多线程协作模式 消费者 先判断中间类是否有消费品 没有则等待,有则消费 消费之后唤醒生产者 生产者 判断中间类是否有消费品 有则等待,没有则生产 消费品放在中间类 唤醒消费者 常用方法: 需要用锁对象去调用 void wait() 让当前线程等待,知道被其他线程唤醒 让当前线程跟锁绑定 void 阅读全文
摘要:
同步代码块解决线程安全问题 当多个线程操作同一数据时会出现问题 会出现多次相同,会超过范围 线程执行代码时,cpu执行权随时有可能被其他线程抢走 所以我们需要把操作共享数据的代码锁起来 需要一个关键字 Synchronized(锁对象){执行代码} 特点一:锁状态默认打开,但一个线程进去了,锁自动关 阅读全文