随笔分类 - 多线程
摘要:1、Executor背景与简介 java的线程既是工作单元,也是执行机制。从JDK 5开始,把工作单元与执行机制分离开来。 工作单元包括Runnable和Callable,而执行机制由Executor框架提供。 executor框架的两级调度模型: 在上层,Java多线程程序通常把应用分解为若干个任
阅读全文
摘要:1、使用线程池的好处 a、降低资源消耗。通过重复利用已创建的线程降低线程创建和摧毁造成的消耗; b、提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行; c、提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以及进行统一分配、
阅读全文
摘要:1、等待多线程完成的CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成操作。join用于让当前执行线程等待join线程执行结束。其实现原理是不停检查join线程是否存活,如果join线程存活则让当前线程永远等待。直到join线程中止后,线程的this.not
阅读全文
摘要:1、Lock接口 在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,在Java SE 5 后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized类似的同步功能,只是在使用时需要显示地获取和释放锁。虽然缺少了隐式获取释放锁的
阅读全文
摘要:1、定义 线程是现代操作系统调用的最小单位,也叫轻量级进程,在一个进程里可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。 2、一个普通的java程序中包含哪些线程 下面是在jdk1.8.0_60环境下的代码输出。 输出结果: 3、优先级 在Java线程
阅读全文
摘要:1、一个进程就是一个正在运行的应用程序的实例,程序段+相关的数据段+PCB构成了进程实体。 2、进程由两个部分组成: (1)操作系统来管理这个进程的内核对象; (2)这个进程拥有的地址空间。 3、线程除了能够访问进程的资源外,每个进程还拥有自己的栈。 4、引入线程的好处:由于线程比进程更小,基本上不
阅读全文