Java并发总结1
2017-12-21 14:55
204 查看
将Thinking in Java的并发章节大致看了,将一些知识点做些总结归纳。可能有漏误,敬请指正!
使用并发的原因:一个单核处理器,任意刻时间只能处理一个任务。如果多个任务顺序执行,则一个任务阻塞,后面的任务都将不能执行。使用并发处理,多个任务相互切换使用处理器,一个任务阻塞,切换到其他任务执行,不影响其他任务完成。
当使用多核处理器时,使用并发给处理器分配多个任务,多个任务同时进行,实现真正的并发(将一个程序分成几个任务同时分配处理器运行,提高程序运行效率)。
并发解决的问题:速度和设计可管性
Java的并发-多线程编程
java的并发系统会共享内存、I/O等资源,因此编写多线程程序的最基本的困难之处在于协调不同线程驱动的任务之间对这些资源的使用,以使得这些资源不会同时被多个任务访问。
使用多线程机制,这些独立任务中的每一个都将由执行线程来驱动。在使用线程时,CPU将轮流给每个任务分配其占用时间。
1定义任务
通过实现Runnable接口编写run()方法
public class Task implements Runnable{
public void run(){}
}
Task类实例即为一个任务。
2运行任务
2.1通过Thread线程
将任务实例作为线程构造器的参数,将任务附着在线程上,启动线程,会执行任务的run()方法
Thread thread=new Thread(new Task());//附着
thread.start();//启动
2.2通过Executor执行器
通常使用ExexutorService(具有服务生命周期的Executor),使用方法如下:
Executor exec =Executors.newCashedThreadPool();
exec.execute(new Task());
使用并发的原因:一个单核处理器,任意刻时间只能处理一个任务。如果多个任务顺序执行,则一个任务阻塞,后面的任务都将不能执行。使用并发处理,多个任务相互切换使用处理器,一个任务阻塞,切换到其他任务执行,不影响其他任务完成。
当使用多核处理器时,使用并发给处理器分配多个任务,多个任务同时进行,实现真正的并发(将一个程序分成几个任务同时分配处理器运行,提高程序运行效率)。
并发解决的问题:速度和设计可管性
Java的并发-多线程编程
java的并发系统会共享内存、I/O等资源,因此编写多线程程序的最基本的困难之处在于协调不同线程驱动的任务之间对这些资源的使用,以使得这些资源不会同时被多个任务访问。
使用多线程机制,这些独立任务中的每一个都将由执行线程来驱动。在使用线程时,CPU将轮流给每个任务分配其占用时间。
1定义任务
通过实现Runnable接口编写run()方法
public class Task implements Runnable{
public void run(){}
}
Task类实例即为一个任务。
2运行任务
2.1通过Thread线程
将任务实例作为线程构造器的参数,将任务附着在线程上,启动线程,会执行任务的run()方法
Thread thread=new Thread(new Task());//附着
thread.start();//启动
2.2通过Executor执行器
通常使用ExexutorService(具有服务生命周期的Executor),使用方法如下:
Executor exec =Executors.newCashedThreadPool();
exec.execute(new Task());
相关文章推荐
- Java语言并发编程总结
- Java核心技术及面试指南 多线程并发部分的面试题总结以及答案
- 黑马程序员学习笔记 Java中多线程与并发的总结
- 10010---关于Java并发编程的总结和思考
- Java 并发编程知识点学习总结 (2)
- Java 并发总结(一)
- JAVA多线程与并发学习总结
- [think in java2]java并发问题总结
- JAVA并发总结-基础篇
- java并发基础总结
- java 多线程并发问题总结
- JAVA多线程与并发学习总结
- Java并发总结(一):线程基础
- Java中的并发库学习总结
- JAVA多线程与并发学习总结
- JAVA多线程与并发学习总结
- Java并发编程的总结和思考
- JAVA并发线程池,线程锁知识总结
- JAVA多线程与并发学习总结
- JAVA多线程与并发学习总结