黑马程序员-线程和socket

来源:互联网 发布:数据库课程设计实验 编辑:程序博客网 时间:2024/04/19 23:33

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 

线程的实现:

.net中如何实现多线程

1)       线程是一定要执行一段代码的。所以要产生一个线程,必须先为这个线程写一个方法,这个方法中的代码就是该线程运行所要执行的代码。

2)       线程启动时,是通过委托调用该方法的。也就是线程启动时,调用传过来的委托,委托就会执行相应的方法,来实现线程执行方法。

 

 

我们怎么样来产生一个线程?

我们产生一个线程的步骤是:

1)       编写产生线程所要执行的方法。

2)       引用System.Threading命名空间

3)       实例化Thread类,并传入一个指向线程所要运行方法的委托

4)       调用Thread实例的Start方法,标记该线程可以被cpu执行了,但是具体执行时间是由cpu决定的。

 

前台线程和后台线程:

前台线程:只有所有的前台线程都关闭才能完成程序关闭时。

后台线程:只要所有的前台线程结束,后台线程自动结束。

 

 

Socket

Socket的概念:socket有“孔”“插座”的意思,但是它作为进程通信机制,是“插座”的意思。我们通常叫做“套接字”。

作用:它是用于描述ip地址和端口,是一个通信链的句柄(我们可以理解为是两个程序通信用的)

Socket有两种类型:

1)       流式socket

它是一种面向连接的socket,针对于面向连接的tcp服务应用,安全,但是效率低

2)       数据报式socket

它是一种无连接的socket,应对与无连接的udp服务应用,不安全(丢失,顺序混乱,在接收端要分析重排及要求重发),但是效率高。

Scoket的一般应用模式:

服务器端的socket(至少需要两个)

A.     一个负责接收客户端连接请求(但是不负责与客户端通信)

B.      没成功接收到一个客户端的连接便在服务端生产一个对应的socket

*在接收到客户端连接时创建。

*为每个连接成功的客户端请求在服务端都创建一个对应的scoket(负责和客户端通信)

客户端socket

*必须指定要连接的服务端地址和端口。

*通过创建一个socket对象来初始化一个到服务器端的tcp连接。微笑

 

 

好了,接下来就做个简单的用socket的实例!

 

----------------------Windows Phone 7手机开发.Net培训、期待与您交流! ---------------------- 详细请查看:http://net.itheima.com/ 

原创粉丝点击