您的位置:首页 > 职场人生

黑马程序员---C#多线程基础笔记

2014-02-07 14:59 337 查看
--------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a
href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------



一.前台线程和后台线程

Start()启动线程

Abort()终止线程

Thread.Sleep(1)静态方法,可以使当前线程停止一段时间运行.

Name线程名

Thread.CuurrentThread获得当前的线程引用.

<1>Thread threadFirst = new Thread(CountTime);

threadFirst.Start();//创建新线程并标记开始,由CPU决定是否开始执行

<2>

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

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

//创建的线程默认为前台线程,如果需要创建后台线程,需要特别指出.

        private void Button_Click_1(object sender, RoutedEventArgs e)

        {

            Thread threadFirst = new Thread(CountTime);

            threadFirst.IsBackground = true;//标记线程为后台线程

            threadFirst.Start();

        }

<3>方法重入问题:

<4>线程带参数方法:

从Start()中带入参数,参数为object类型.在调用的函数中调用调用ToString()方法,多态性,调用string的ToString()方法,返回字符串.

        private void Button_Click_3(object sender, RoutedEventArgs e)

        {

            Thread threadThird = new Thread(Showmessage);

            threadThird.IsBackground = true;

            threadThird.Start(txtshow1.Text);

        }

        void Showmessage(object str)

        {

            MessageBox.Show(str.ToString());

        }

<5>多线程执行带多个参数的方法:

参数为object类型,可以传入数组或者自定义集合.

二.C#中的Socket

<1>socket 套接字,用户描述IP地址和端口,是一个通信链的句柄.

<2>socket有两种类型:

①流式Socket(STREAM)

是一种面向连接的 



<3>Socket一般应用模式(服务端和客户端)

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

一个负责接收客户端连接.

每成功接收到一个客户端的连接便在服务端产生一个对应的Socket:在接收到客户端连接时创建,为每个连接成功的客户端创建一个对应的Socket.

②客户端的Socket:必须制定要连接的服务端地址和端口,通过创建一个Socket对象来初始化一个到服务器端的TCP连接.

 



<4>Socket的通讯过程.

 



<5>

--------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a
href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐