C语言中同步和异步的理解

来源:互联网 发布:淘宝服装照片拍摄方法 编辑:程序博客网 时间:2024/05/18 02:05

现在我在main.c这个文件中,调用360浏览器。

C语言中同步和异步的理解

分析过程:在my.exe里面继续打开另外一个程序,所以就涉及到:my.exe的继续执行是否要等把另外的那个程序执行完才执行呢?如果要等,就是同步;如果不用等,就是异步。这就是同步和异步的问题。

现在是要等的情况:

结果就是要等到浏览器完全打开完才会去打印nihao 。

如果这样看,就会更加的清晰:

C语言中同步和异步的理解

结果是:

一个一个的打开,最后才是打印nihao

C语言中同步和异步的理解

如果要异步方式:

C语言中同步和异步的理解

结果是:

C语言中同步和异步的理解

三个浏览器几乎同时打开,同时“nihao”还会先打印出来。

因为他们的执行顺序是并列的,谁更轻巧谁就快。这就是异步。

同时可以看出:默认是同步的。

总结:

同步:就是串行执行(按顺序,一个等一个),因为它就是函数的调用原理,栈机制的先进后出决定,速度慢,但是节约资源。

异步:就是并行执行(没有顺序,同时做),它采用了开启多线程的方式实现同时做多件事情,速度快,但是会加大资源的开销;

二者应该根据应用场合来使用。

其实同步和异步的应用场合很多,如:数字电路中有同步电路和异步电路。互联网领域前后端交互的时候使用的ajax也有同步和异步之分。所以同步和异步是一个深入学习C语言很重要的内容。

原创粉丝点击