随笔分类 - 多线程
摘要:线程池 1、创建一个空的任务容器 2、在容器中初始化10个执行任务的线程,俗称消费者线程 3、最开始这个容器是空的,所以线程都wait在上面 4、直到一个外部线程往这个容器扔了一个“任务”,这时候就会唤醒消费者线程notify 5、这个消费者线程从容器中取出”任务“,并且执行这个任务,任务完成,wa
阅读全文
摘要:线程交互 盖伦持续掉血,但是血量到达1的时候,不能继续掉了,因为血量不能为负。只有等待回复血量,再进行减血操作,这个时候就有两个线程在操作这个英雄的hp,这两个线程操作的过程就是交互。减血线程到1时,等待加血线程加血wait,加血之后,唤醒减血线程notify。这样完成两个线程的交互。 交互流程图
阅读全文
摘要:死锁 小刘、小王在玩手机。小刘在用自己的手机打游戏,同时又想抢小王的手机看电视。这会小王正在拿自己手机打游戏,小王也想拿小刘的的手机看电视。小刘拿不到小王的手机,因为小王在打游戏,抢不走,所以小刘在打游戏的时候也在等待小王手机空闲下来。小王正在打游戏,小王也想拿小刘的手机看电视,但是这会小刘正在用着
阅读全文
摘要:线程同步场景 假设盖伦有10000基础血量,这个时候他在基地被别人虐泉水。这时候就会出现这种场景,有多个线程在打击盖伦,减少他的血量。于此同时,基地又有多个线程在给盖伦恢复血量。假设增加血量的线程数和攻击减少血量的线程数是一样的,并且每次改变的值都是1,那么最终盖伦血量应该为基数10000才对。但是
阅读全文
摘要:方法 sleep:当前线程暂停 join:将该线程加入到当前线程中,默认是main setPriority:设置优先级 yield:临时暂停 setDaemon:守护线程 sleep-睡觉 让该线程每运行一次就暂停一秒 package com.thread.thread4; public class
阅读全文
摘要:多线程概念 进程:当点开英雄联盟的时候,我们就启动了一个进程。如果这时候又打开QQ音乐,那我们就是又开启了一个进程。 线程:线程是进程内部同时在做的事情,比如在英雄联盟游戏中,"盖伦正在击杀提莫",同一时刻"赏金猎人又在击杀盲僧",这个时候盖伦击杀提莫这件事就是一个线程,在这里两个线程在做事情,就统
阅读全文