讲一讲什么叫阻塞非阻塞同步异步

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了讲一讲什么叫阻塞非阻塞同步异步相关的知识,希望对你有一定的参考价值。

1.讲一讲什么叫阻塞非阻塞同步异步全是用来形容方法的,形容一个方法返回值状态的。

2.io读取,网络读取,jdbc读取,这些流的操作都是bio的,都是阻塞的。

3.所以沃恩一般在处理io操作时,都采用多线程来提高bio的效率。

4.io操作,就是本地文件,网络,数据嘛嘛。所以在这三种读取数据时,都要采用多线程提高效率。

5.多线程处理阻塞方法时,只不过是避免了主线程的阻塞,但是让子线程,也就是处理每个http request的线程去发生阻塞了。

6.传统的古老的开发方式:

单线程执行阻塞方法->单线程程序阻塞

多线程执行阻塞方法->main线程不阻塞,子线程阻塞。程序照旧运行

多线程执行非阻塞方法

7.但是多线程执行bio阻塞方法时,频繁的创建和销毁线程是很大消耗的。所以一般要提前创建好线程池。

类似于数据库连接池一样,都是提前创建的,在开机阶段就创建好的,等项目运行时候随时可以调用线程或者connenction就行

 

7.记住,多线程,多线程程序,最最重要的是主线程,也就是main方法所在的线程。程序员所创建的都是子线程,你创建的都是子线程

以上是关于讲一讲什么叫阻塞非阻塞同步异步的主要内容,如果未能解决你的问题,请参考以下文章

说说下面几个概念:同步,异步,阻塞,非阻塞?

同步,异步和 阻塞,非阻塞

同步异步阻塞和非阻塞

网络编程释疑之:同步,异步,阻塞,非阻塞

同步阻塞同步非阻塞异步阻塞异步非阻塞

同步/异步,阻塞/非阻塞