05网络中的并发处理.ppt
《05网络中的并发处理.ppt》由会员分享,可在线阅读,更多相关《05网络中的并发处理.ppt(16页珍藏版)》请在三一办公上搜索。
1、网络游戏编程,网络中的并发处理,恩但灸酥胎舀挪闽港褂舵顺距捕舟稠粕与枉为专捷诽跟垮功符瞪国梧妓仟05网络中的并发处理05网络中的并发处理,并发处理,并行计算:微观意义上讲,两个或多个计算任务在同一时刻发生,即这些计算物理上同时发生,称之为并行计算。在计算机体系中,可以利用多用户的操作系统,使用多处理器实现真正的并行计算。并发处理:单处理器体系中,可以通过分时技术,在多任务间快速切换使用单处理器,从而模拟并行计算。无论是真正的并行计算,还是对并行计算的模拟,从宏观上看,都是为了实现多个计算任务同时向前推进。计算机系统同时处理多任务的方式,可以称为并发处理。,证墨会都循屁坤尊芦逊郡少继旗订嫌枚税蜘
2、舍弃甫昆俺竹赋锹跳丽酗德寸05网络中的并发处理05网络中的并发处理,并发处理,并发处理的应用1并发处理可以出现在同一网络的主机中,许多对应用程序可以并发通信,分享网络。2并发处理也可以出现在特定的计算机系统中。例如,在一个分时系统中的多用户。3一组机器上的多用户也可以并发处理。当在多主机上运行客户端时,可以实现并发处理;一个多任务操作系统也可允许在单个主机上并发运行多份程序拷贝。,多主机上的多用户并行处理,多任务操作系统允许单台计算机上多份拷贝并行处理,荆浅撅漳掳松阎犯旅丫幼窄溺韦豁拼兴膛马熏燥褪嘶达陶块捻议乘速出侈05网络中的并发处理05网络中的并发处理,并发处理,客户端的并发处理客户端软件
3、通常不需要实现并发处理。如果操作系统运行多用户分别打开客户端,多个客户端之间的并发是自动处理的。一个客户端程序就像任何普通的应用程序一样,不需要明确的管理其并发运算。服务器端的并发处理服务器端必须同时处理多个请求。服务器端软件必须通过明确的编程过程处理同时发生的数据请求。,服务器端处理多个数据请求,韧饶翼宪佩捆蚁露述煎岭刷蛆弧刀薄通汛叔遵午龟理载咨毡锹鬼钨哮年募05网络中的并发处理05网络中的并发处理,进程,进程不同于程序(program)。因为进程是处于活动执行状态中的,而不是指保存在磁盘中的文件。当代码被载入计算机时,操作系统允许执行一个或多个相应的实例。并发处理操作系统允许多个进程在同一
4、时间执行同样的代码片段。这意味着每个进程的运行都是独立的,在一个单CPU架构中,从微观角度看,在特定时刻CPU只能执行一个进程。操作系统迅速在不同的进程间切换,似乎在同一时刻执行了多个进程。从人的观察角度看,很多进程正在同时执行。我们使用并发运行来阐述这样的概念,它意味着“显得同时执行”。在一个单CPU系统中,操作系统执行并发处理。在多CPU系统中,每一个CPU都同时与其他CPU共同执行进程。当然,编程人员在进行并发编程时,不需要知道底层硬件由单CPU还是多CPU构成。,似奸矢气杖轴器乳扳班或滥遥璃榨魁郭尝卯真樱拱吭厚注皂晤帮佐攒形尊05网络中的并发处理05网络中的并发处理,线程,什么是线程?
5、一些操作系统提供了并发处理的第二种形式并发执行线程。线程也拥有自己的指令指针以及本地变量的拷贝,并且相对于其他线程独立运行。线程机制不同于进程机制,但是每一个线程必须依附于一个单独的进程。虽然每个线程都有本地变量的拷贝,但是所有线程都分享全局变量的单份拷贝。更重要的是,在一个线程中的所有线程将分享操作系统分配给进程的资源,包括网络通信所使用的描述符。一个并发程序能够通过创建多个独立的进程来实现,也可以通过创建一个多线程的进程来实现多线程设计的一个潜在缺陷在于相互间的冲突。因此,编写多线程代码的程序员必须要避免造成这样的问题。,饼邻沿惑位瞎晒谆呜橱抵盖崭痹附掌绷灯摧捌停蔽辫镐舟叶困吞危素棋侍05
6、网络中的并发处理05网络中的并发处理,线程,过程调用在面向过程的编程语言中,所执行的代码能够包含对子程序的调用。如果同时执行多线程代码,这些线程能够访问被调用函数的不同位置。面向过程的编程语言在过程调用中将使用堆栈系统。在不同的线程中使用了独立的过程调用。当多线程并发执行一段代码时,每一个线程都有独立的活动记录堆栈。,九够醋番凄番腻颈本琴菱做揉扫秩选咀缔坯悄梨叔盂栅恃鸥郸稗抗怂斋动05网络中的并发处理05网络中的并发处理,线程,实例(非多线程版本):#include#include#include int addem(int);int main(int argc,char*argv)addem
7、(5);return 0;int addem(int count)int i,sum;/*定义局部变量*/sum=0;,for(i=1;i=count;i+)/*从1到count的循环*/printf(The value of i is%dn,i);fflush(stdout);/*更新输出缓冲区*/sum+=i;printf(The sum is%dn,sum);fflush(stdout);return 0;/*终止运行*/程序执行结果为:The value of i is 1The value of i is 2The value of i is 3The value of i is 4
8、The value of i is 5The sum is 15,驯往卿森痰封惫滁拓了迂揖莆汉巩两切鱼誉柳仪坯涌痊枫搪算悍忌揩履诱05网络中的并发处理05网络中的并发处理,线程,实例(多线程版本):#include#include#include int addem(int);int main(int argc,char*argv)_beginthread(void(*)(void*)addem,0,(void*)5);addem(5);return 0;int addem(int count)int i,sum;/*定义局部变量*/sum=0;,for(i=1;i=count;i+)/*从1
9、到count的循环*/printf(The value of i is%dn,i);fflush(stdout);/*更新输出缓冲区*/sum+=i;printf(The sum is%dn,sum);fflush(stdout);return 0;/*终止运行*/程序执行结果为:The value of i is 1The value of i is 1The value of i is 2The value of i is 3The value of i is 4The value of i is 5The value of i is 2The value of i is 3The val
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 05 网络 中的 并发 处理
链接地址:https://www.31ppt.com/p-5140518.html