黑马程序员 .NET学习笔记 <7>

来源:互联网 发布:幕府将军2优化补丁 编辑:程序博客网 时间:2024/05/22 15:19
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------

一、进程与线程

1、进程:某个运行的程序。

2、线程:一个进程至少包含一个线程,同一个进程中多个线程可以并发执行。

3、要产生一个线程,必须先为该线程写一个方法,这个方法中的代码就是该线程所要执行的代码,线程启动,通过委托调用该方法。

4、多线程:让计算机在同一时间做多件事情。

5、.net中的线程关键字是Thread。

二、多线程方法重入

1、方法重入:两个线程同时调用一段代码,是分别将代码拷入不同线程执行的过程。

2、微软的解决方案:一个线程调用另一个线程的方法时,会有检查提示。

三、前台进程和后台线程

1、使用多线程解决UI卡死问题,不让UI线程执行方法,新建另外一个线程执行(该线程由主线程产生),此时UI线程空闲等待用户命令。

2、线程的命名空间在System.Threading中。

3、创建线程:使用new关键字,把方法(无返回值)作为参数传入,利用委托(delegate)。

4、默认为前台线程:只有所有的前台线程都关闭才能完成程序的关闭。

5、后台线程:只要前台线程结束,后台线程自动结束。

6、设置为后台线程:调用isbackground方法,并赋值为true。

四、线程实现带参数的方法

1、线程带参数为object类型,所以需定义方法的参数为object类型(方法内根据实际使用情况再转换为不同类型),利用委托加入线程。

2、给线程一个带参数的方法,用带参数的star(参数)开始执行线程。如果既有带参数的star构造函数,又有没有参数的star构造函数,则系统根据实际情况,如果被委托的对象为null,则调用无参构造函数,否则调用有参数构造函数。

3、带多个参数时,通过数组泛型集合传递。


---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------