![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 60
not_in_mountain
这个作者很懒,什么都没留下…
展开
-
Executor框架简介
注:本文为《java并发编程的艺术》学习笔记,详情请参考书籍。引言:我们知道,线程的创建和销毁需要一定的开销,大量频繁的创建线程将给系统带来很大的负荷。从JDK5开始,Java就将线程的工作单元和执行机制分开。工作单元包括:Runnable和Callable;执行机制包括Executor框架。Executor框架的两级调度模型:在HotSpot VM的线程模型中,Jav原创 2017-09-04 20:26:10 · 229 阅读 · 0 评论 -
ThreadPoolExecutor详解
Executor框架最核心的类是ThreadPoolExecutor,它是线程池的实现类。关键词:corePool:核心线程池的大小;maximumPool:最大线程池的大小;BlockingQueen:用来暂时保存任务的工作队列;RejectedExecutionHandler:当ThreadPoolExecutor已经关闭或已经饱和时(达到最大线程池大小并且工作队列已满),原创 2017-09-04 21:38:08 · 400 阅读 · 0 评论 -
ScheduledThreadPoolExecutor详解
本文为《Java并发编程的艺术》学习笔记,详情见书本。作用:在给定的延迟之后运行任务,或者定期执行任务。(总之和时间有关,要么延迟,要么定期,体现“Scheduled”)。与Timer比较:类似于Timer类,但它更加强大和灵活。因为Timer对应的是单个后台线程,而ScheduledThreadPoolExecutor可以在构造函数中指定多个对应的后台线程数。Schedu原创 2017-09-04 22:04:13 · 821 阅读 · 0 评论 -
FutureTask详解
简介:FutureTask实现的接口有Future接口、Runnable接口。因此,FutureTask可以交给Executor执行,也可以由调用线程直接执行,FutureTask.run()。FutureTask的三种状态:①未启动。还未执行FutureTask.run();②已启动。run方法执行过程中;③已完成。run方法执行结束或取消、或异常。根据上面的三种状态原创 2017-09-05 00:00:02 · 286 阅读 · 0 评论 -
HashMap线程不安全原因
在多线程环境下,使用HashMap进行put操作会引起死循环,导致CPU利用率高达100%。原因:多线程会导致HashMap的Entry链表形成环形数据结构,一旦形成唤醒数据结构,Entry的next结点永远不为空,就会产生死循环获取entry。final HashMap map = new HashMap(2);Thread t = new Thread(new Runnabl原创 2017-09-05 00:33:57 · 480 阅读 · 0 评论 -
unity多线程的学习-Loom-Loom类
using System;using System.Threading;using System.Collections.Generic;using Frankfort.Threading;using Frankfort.Threading.Internal;using UnityEngine;/// /// Primairy accespoint/interface to all framewo翻译 2016-09-06 23:28:16 · 4044 阅读 · 0 评论 -
unity多线程的学习:Loom-IThreadWorkerObject部分
using System;namespace Frankfort.Threading{ public interface IThreadWorkerObject { /// /// This method is called by the Scheduler as the main e翻译 2016-09-06 23:30:39 · 920 阅读 · 0 评论