一、进程与线程
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培训、期待与您交流! ----------------------