欢迎各界计算机爱好者加入,弘扬极客精神!

网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?

1 喜欢 0 不喜欢
最新提问 4月 20, 2016 分类:C# | 用户: GTB_3BS (3,536 分)  

2 个回答

0 喜欢 0 不喜欢
 
已采纳

齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始 存取。其他平台可能没有这种情况, 但是最常见的是如果不按照适合其平台的要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为 32位)如果存放在偶地址开始的地方,那么一个读周期就可以读出,而如果存放在奇地址开始的地方,就可能会需要2个读周期,并对两次读出的结果的高低 字节进行拼凑才能得到该int数据。显然在读取效率上下降很多。这也是空间和时间的博弈。

通常,我们写程序的时候,不需要考虑对齐问题。编译器会替我们选择适合目标平台的对齐策略。当然,我们也可以通知给编译器传递预编译指令而改变对指定数据的对齐方法。

但是,正因为我们一般不需要关心这个问题,所以因为编辑器对数据存放做了对齐,而我们不了解的话,常常会对一些问题感到迷惑。最常见的就是struct数据结构的sizeof结果,出乎意料。

       对于结构体来说,按成员中所占字节最大的是float类型,占用4个字节,一共有3个成员,所以总的占用字节为:4* 3 = 12.

       可通过编译器命令来设定:

      #progma pack (2) 

最新回答 4月 20, 2016 用户: 荆轲刺秦王 (3,934 分)  
采纳于 4月 20, 2016 用户:GTB_3BS
0 喜欢 0 不喜欢
一次执行多少个应用就有多少个线程。
最新回答 4月 20, 2016 用户: ZSD (4,420 分)  
...