java多线程(复习-4)高并发基础概念

一,同步,异步

他们都是形容一次方法调用,同步方法只有等调用者调用返回后 ,才可以继续后续的同步方法。时间比较长,浪费cpu的资源

异步方法,调用者调用后就会立即返回,调用者可以继续后续的操作,异步方法只是在另外一个线程真实的执行。

举例:同步方法好比 你去商城实体店买一个电器,那么你就要等着商品出库然后一起回家安装

异步方法 好比你在网上买一个电器,下单后,就可以干别的事,去处去玩啊之类的,最后会有快递员替你运来商品,替你安装。

二,并发(concurrency),并行(parallelism)

两者都表示有两个或者多线程一起执行,但是着重点不同。

并发,着重于多个任务交替执行。而多个任务之间可能是串行的,

并行是真正意义的同时执行。

实际上,在单个cpu上多个任务的执行是并发执行的,只有在多个cpu时,多个任务的执行时才有可能并行。

三,临界区

表示一种公共资源或者是共享数据,可以被多个线程使用。但每次只有一个线程可以使用。加锁可以理解为一种临界区,

 

四,阻塞与非阻塞

这时形容多线程之间的相互影响。

比如一个线程占用临界资源,那么其他线程就必须等待,这就是阻塞,一个线程正在读取一个文件,那么其他线程也要操作者个文件,那么其他线程就必须等待。这时其他线程就处于阻塞状态。

参考:《Java好并发程序设计》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章