C#网络应用高级编程 教学课件 作者 马骏 郑逢斌 沈夏炯习题答案 第01章 习题解答.doc

C#网络应用高级编程 教学课件 作者 马骏 郑逢斌 沈夏炯习题答案 第01章 习题解答.doc

ID:50318680

大小:70.00 KB

页数:3页

时间:2020-03-08

C#网络应用高级编程 教学课件 作者 马骏 郑逢斌 沈夏炯习题答案 第01章 习题解答.doc_第1页
C#网络应用高级编程 教学课件 作者 马骏 郑逢斌 沈夏炯习题答案 第01章 习题解答.doc_第2页
C#网络应用高级编程 教学课件 作者 马骏 郑逢斌 沈夏炯习题答案 第01章 习题解答.doc_第3页
资源描述:

《C#网络应用高级编程 教学课件 作者 马骏 郑逢斌 沈夏炯习题答案 第01章 习题解答.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章进程、线程与网络协议习题1参考解答1.简要回答下列问题。 1)进程和线程有什么区别? 2)线程是如何创建的?怎样设置线程的优先级? 3)什么是套接字?【解答】1)一个完整的进程拥有自己独立的内存空间和数据,但是同一个进程内的线程是共享内存空间和数据的。一个进程对应着一段程序,它是由一些在同一个程序里面独立的同时运行的线程组成的。线程有时也被称为并行运行在程序里的轻量级进程,这是因为它的运行依赖于进程提供的上下文环境,并且使用的是进程的资源。在一个进程里,线程的调度有抢占式或者非抢占的模式。在抢占模式下,操作系统负责分配CPU时间给各个线程,一旦当

2、前的线程使用完分配给自己的CPU时间,操作系统将决定下一个占用CPU时间的是哪一个线程。因此操作系统将定期的中断当前正在执行的线程,将CPU分配给在等待队列的下一个线程。所以任何一个线程都不能独占CPU。每个线程占用CPU的时间取决于进程和操作系统。进程分配给每个线程的时间很短,以至于我们感觉所有的线程是同时执行的。2)C#中创建线程的工作是通过使用System.Threading名称空间下的Thread类的构造方法来完成的,如创建一个线程实例输出字符“a”1000次。Threadthread=newThread(newThreadStart(func

3、1));thread.Priority=ThreadPriority.Normal;thread.Start();staticvoidfunc1(){for(inti=0;i<1000;i++){Console.WriteLine("a");}}C#中System.Threading名称空间下的ThreadPriority枚举类定义了线程可能具有的所有优先级的值,优先级由高到低排序为:Highest,AboveNormal,Normal,BelowNormal,Lowest。可以通过访问线程的Priority属性来获取和设置其优先级。每个线程都具有分配

4、给它的线程优先级。在公共语言运行库中创建的线程最初分配的优先级为ThreadPriority.Normal。在运行库以外创建的线程保留它们在进入托管环境之前具有的优先级。可以使用Thread.Priority属性获取或设置任何线程的优先级。3)套接字是引用网络连接的特殊的文件描述符,它有三个基本要素组成:网络类型、数据传输类型、采用的网络协议。Socket类的构造函数为:Socket(AddressFamilyaf,SocketTypest,ProtocolTypept)其中,AddressFamily为网络类型,SocketType为数据类型,Pro

5、tocolTyp为使用的网络协议。3第1章进程、线程与网络协议Socket构造函数的三个参数中,对于网络上的IP通信来说,AddressFamily总是使用AddressFamily.InterNetwork枚举值。SocketType参数则与ProtocolType参数配合使用,不允许其它的匹配形式,也不允许混淆匹配。2.使用DNS类和IPHostEntry类创建一个如图1-10所示的域名解析器。【解答】1)设计界面如图15-18所示:图15-18设计界面2)主要源程序如下:……usingSystem.Net;……privatevoidbutton1

6、_Click(objectsender,EventArgse){try{this.Cursor=Cursors.WaitCursor;//解析主机名IPHostEntryIPinfo=Dns.GetHostEntry(textBox1.Text);//清空列表框listBox1.Items.Clear();listBox2.Items.Clear();//显示IP地址foreach(IPAddressIPinIPinfo.AddressList){listBox1.Items.Add(IP.ToString());}//显示别名foreach(stri

7、ngaliasinIPinfo.Aliases){listBox2.Items.Add(alias);}3第1章进程、线程与网络协议//显示主机名textBox2.Text=IPinfo.HostName;}catch(Exceptionex){MessageBox.Show(ex.Message);}finally{this.Cursor=Cursors.Default;}}图15-19域名解析器运行界面3)程序运行结果如图15-19所示:3

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。