---------------------- ASP.Net+Android+IO开发、.Net培训、期待与您交流! ----------------------
● 线程与进程的关系
一个程序就相当于一个进程;
一个进程至少有一个线程;
同一个进程中的多个线程之间可以“并发”执行;
● 线程
1)一个线程一次只能完成一个任务;
2)多线程方法重入:CPU是不断的在多个线程之间来回切换执行的
3)前台线程:只有所有的前台线程都关闭,才能完成程序的关闭;
后台线程:只要所有的前台线程结束,后台线程自动结束;
4)TextBox.CheckForIllegalCrossThreadCalls=false:是否检查TextBox控件在多个线程之间调用的合法性,false表示关闭该检查;
5)Thread.CurrentThread.Name:获得当前正在运行的线程的名字;
●创建线程
1)创建一个线程,应先为该线程准备一个方法,线程运行时,通过委托调用该方法,从而执行方法里的代码(该委托的签名没有返回值,参数为object类型或无参数,所以准备的方法也应该没有返回值,参数为object类型或无参数);
2)方法Start([参数]):启动线程,标记线程可以被CPU执行了,但具体执行时间由CPU决定;
Start()方法的重载可以传入object类型的参数,从而实现了线程执行带单个参数的方法;
可以对准备的方法里object类型的参数进行处理,从而实现线程执行带多个参数的方法,例如:List<string> list=obj as List<string>;
3)属性IsBackground=true:设置为后台线程;
4)属性Name:给线程取名字;
---------------------- ASP.Net+Android+IO开发、.Net培训、期待与您交流! ----------------------