JAVA并发的学习笔记
2017-08-29 18:05
211 查看
第一节
线程池:1.线程池在包java.util.concurrent.Executors
2.常用方法 newCachedThreadPool();创建一个根据需要创建新线程的线程池,但是以前的线程可用时将重用他们
newFixedThreadPool(int sun);创建一个可重用的固定线程数的线程池
newSingleThreadScheduledExecutor();就像 newFixedThreadPool(1)创建单个线程,确保任意时刻任何线程中都只有唯一的任务在运行,
如果向newSingleThreadScheduledExecutor提交了多个任务,那么这些任务将按照提交顺序排队执行。
ExecutorService(具有服务生命周期的Executor)对象的使用:java.util.concurrent.ExecutorService
创建:ExecutorService exec=Executors.newCachedThreadPool();
常用方法:1. exec.execute(new 线程对象);
2. exec.shutdown(); 启动一次顺序关闭,执行以前提交的任务,阻止新任务进入
3. exec.submit(线程对象/callablb对象);将 参数对象 提交用于执行,并返回一个表示该任务的Future<>对象
Callable接口的使用:java.util.concurrent.Callable;
Runnable是执行的独立任务,但是他不返回任何值;如果想要任务执行完毕后能有返回值,可以实现Callable接口;由call()方法代替run();
Callable是一种具有类型参数的泛型,它的类型参数表示 call()的返回值类型,并且必须使用ExecutorService.submit()调用Callable
Future的isDone() 如果任务执行完成,则返回true,get() 得到值
线程池:1.线程池在包java.util.concurrent.Executors
2.常用方法 newCachedThreadPool();创建一个根据需要创建新线程的线程池,但是以前的线程可用时将重用他们
newFixedThreadPool(int sun);创建一个可重用的固定线程数的线程池
newSingleThreadScheduledExecutor();就像 newFixedThreadPool(1)创建单个线程,确保任意时刻任何线程中都只有唯一的任务在运行,
如果向newSingleThreadScheduledExecutor提交了多个任务,那么这些任务将按照提交顺序排队执行。
ExecutorService(具有服务生命周期的Executor)对象的使用:java.util.concurrent.ExecutorService
创建:ExecutorService exec=Executors.newCachedThreadPool();
常用方法:1. exec.execute(new 线程对象);
2. exec.shutdown(); 启动一次顺序关闭,执行以前提交的任务,阻止新任务进入
3. exec.submit(线程对象/callablb对象);将 参数对象 提交用于执行,并返回一个表示该任务的Future<>对象
Callable接口的使用:java.util.concurrent.Callable;
Runnable是执行的独立任务,但是他不返回任何值;如果想要任务执行完毕后能有返回值,可以实现Callable接口;由call()方法代替run();
Callable是一种具有类型参数的泛型,它的类型参数表示 call()的返回值类型,并且必须使用ExecutorService.submit()调用Callable
Future的isDone() 如果任务执行完成,则返回true,get() 得到值
相关文章推荐
- 张孝祥java.concurrent线程并发学习笔记 - 传统线程回顾
- java学习——java高级特性,线程,并发 笔记
- Java并发编程学习笔记 深入理解volatile关键字的作用
- JAVA并发设计模式学习笔记(二)—— Single Threaded Execution Pattern
- Java 并发编程实战学习笔记——路径查找类型并行任务的终止
- 张孝祥java.concurrent线程并发学习笔记 - concurrent简介
- JAVA并发编程学习笔记之AQS简介
- JAVA并发编程学习笔记之synchronized
- Java并发学习笔记(14) 闭锁(CountDownLatch)
- Java并发学习笔记(1) 线程与进程
- Java并发学习笔记(8)发布逸出
- JAVA并发编程学习笔记之ReentrantLock
- Java并发学习笔记(12)避免活跃度危险(死锁)
- Java 并发编程实战学习笔记——CountDownLatch的使用
- JAVA并发设计模式学习笔记(一)—— JAVA多线程编程
- java并发编程实践学习笔记
- JAVA并发编程学习笔记之ReentrantLock
- Java 并发编程实战学习笔记——寻找可强化的并行性
- Java并发同步器AQS(AbstractQueuedSynchronizer)学习笔记(1)
- java并发包学习笔记(一)