------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------
多线程和单线程
线程是一个程序中的执行器,每个线程都有自己的专有寄存器指针,程序计数器(等),
但代码区是共享的,既不同的线程可以执行同样的函数。
单线程:单线程就是进程只有一个线程,一个进程至少有一个线程。
缺点: 只能走一个线程,程序容易出现未响应状态,当正在进行一个线程时
不能进行另外一个线程。
多线程:是指程序包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务(代码),也就是说允许单个程序创建多个并执行线程来完成各自的任务
优点:可以让计算机同时做很多事情,节约时间。
后台运行程序,提高运行效率,也不会使主界面出现无响应的情况
不会浪费CPU资源
多线程用法: 首先有写一个要执行的方法
列子:void Getout()
{
DateTime _Time = DateTime.Now;
for (int i = 0; i < 999999999; i++)
{
}
TimeSpan _Span = _Time.Subtract(DateTime.Now) ;
MessageBox.Show("循环完毕" + _Span.ToString());
}
写好以后
Thread _The = new Thread(Getout); //将方法写入到Thread(Getout)里面其实传的 是一个委托
_The.Start();//调用线程的Start方法执行但是具体时间有CPU决定
前台线程和后台线程: 只有所有的前台线程都关闭才能完成程序关闭, 只要所有的前台线程结束,后台线程自动结束
解决方法: _The.IsBackground = true;//将线程设置为后台线程
线程执行带参数方法:
写一个方法 :
列子:void Getout( object Name) //必须是object类型传进去
The.Start(textbox.text);在()里面必须传入值 否则会报错;
------- Windows Phone 7手机开发、.Net培训、期待与您交流! -------