
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
并发编程开发是目前大多数软件开发程序员都应该熟练掌握的一个编程开发技术,而本文我们就通过案例分析来了解一下,并发编程开发需要掌握哪些编程技术。
1、并行
并行是指“并排行走”或“同时实行或实施”。在操作系统中,若干个程序段同时在系统中运行,这些程序的执行在时间上是重叠的,一个程序段的执行尚未结束,另一个程序段的执行已经开始,无论从微观还是宏观,程序都是同时执行的;
问:单核CPU能否实现并行?
答:不能,但是可以实现并发
2、并发
并发是指:在同一个时间段内,两个或多个程序执行,有时间上的重叠(宏观上是同时,微观上仍是顺序执行);
通俗讲,多个程序只要看起来像同时运行即可;
问:12306可以同一时间支持几个亿的用户买票问是并行还是并发
答:高并发
以上建立在单核CPU上~
3、程序和进程
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
4、同步/异步、阻塞/非阻塞组合
同步阻塞:这种形式效率是低的;比如你吃饭排队,只能干等,什么都不能干;
异步阻塞:比如你排队吃饭,排到你了让店员喊一声你就好,这期间可以在附近买杯奶茶等(异步),但是不能离开餐厅附件(阻塞);
同步非阻塞:比如吃饭排队,你估计排队时间挺长的,你打开了王者荣耀,你边打游戏还得往前走关注排队情况,这样以来王者荣耀相当于一个程序,排队是一个程序,二者需要不断切换;
异步非阻塞:效率非常高,比如吃饭排队,你可以把排单号交给女朋友,让她排队,你去厕所(异步),拉屎(非阻塞);这样是不是不需要排队也不需要在餐厅旁边等着,这样就是异步非阻塞;
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。