随笔分类 -  多线程

摘要:大致理解 顾名思义,ThreadLocal指的就是Thread的本地文件,即每一个线程专属的本地变量。 详细定义如下: ThreadLocal 提供了线程本地的实例。它与普通变量的区别在于,每个使用该变量的线程都会初始化一个完全独立的实例副本。ThreadLocal 变量通常被 修饰。当一个线程结束 阅读全文
posted @ 2018-07-17 15:42 夜晚风吻尽 阅读(149) 评论(0) 推荐(0)
摘要:问题描述: 解题思路: 如果哲学家身边的2把筷子都没人使用,哲学家便可以就餐,否者哲学家只能等待别人就餐完毕。那么就根据哲学家身边的筷子状态做判断,满足条件便就餐,不满足则等待 代码: 阅读全文
posted @ 2016-10-09 11:19 夜晚风吻尽 阅读(1003) 评论(0) 推荐(0)
摘要:Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 n 阅读全文
posted @ 2016-09-26 16:35 夜晚风吻尽 阅读(304) 评论(0) 推荐(0)
摘要:原理: 生产者/消费者模式就是将生产和消费分成多个线程,他们并用一个仓库。当仓库满的时候不能再生产,只能等消费了以后才能继续生产;当仓库空的时候不能再消费,必须等到生产了之后才能消费。 这个实现的手段有三种:使用wait() / notify()方法;使用await() / signal()方法;使 阅读全文
posted @ 2016-09-22 17:01 夜晚风吻尽 阅读(253) 评论(0) 推荐(0)
摘要:在正式学习Thread类中的具体方法之前,我们先来了解一下线程有哪些状态,这个将会有助于后面对Thread类中的方法的理解。 线程从创建到最终的消亡,要经历若干个状态。一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time 阅读全文
posted @ 2016-09-22 11:34 夜晚风吻尽 阅读(227) 评论(0) 推荐(0)
摘要:线程创建有两个方法: 创建Thread或者其子类 执行start()方法 创建线程的方法也有两个: 一、实现Runnable接口的run方法 二、继承Thread类重写run方法 其它:多个线程共享同一份资源 注意: 两个线程的执行时间并不是平均分配的,而是根据JVM调度的。 Thread类中有带线 阅读全文
posted @ 2016-09-21 21:12 夜晚风吻尽 阅读(120) 评论(0) 推荐(0)