Java并发总结1

将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());




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值