现在我在main.c这个文件中,调用360浏览器。
分析过程:在my.exe里面继续打开另外一个程序,所以就涉及到:my.exe的继续执行是否要等把另外的那个程序执行完才执行呢?如果要等,就是同步;如果不用等,就是异步。这就是同步和异步的问题。
现在是要等的情况:
结果就是要等到浏览器完全打开完才会去打印nihao 。
如果这样看,就会更加的清晰:
结果是:
一个一个的打开,最后才是打印nihao
如果要异步方式:
结果是:
三个浏览器几乎同时打开,同时“nihao”还会先打印出来。
因为他们的执行顺序是并列的,谁更轻巧谁就快。这就是异步。
同时可以看出:默认是同步的。
总结:
同步:就是串行执行(按顺序,一个等一个),因为它就是函数的调用原理,栈机制的先进后出决定,速度慢,但是节约资源。
异步:就是并行执行(没有顺序,同时做),它采用了开启多线程的方式实现同时做多件事情,速度快,但是会加大资源的开销;
二者应该根据应用场合来使用。
其实同步和异步的应用场合很多,如:数字电路中有同步电路和异步电路。互联网领域前后端交互的时候使用的ajax也有同步和异步之分。所以同步和异步是一个深入学习C语言很重要的内容。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。