----------------------
Windows Phone 7手机开发、
.Net培训、期待与您交流! ----------------------
单线程的缺点
打开一个windows应用程序,创建一个windows窗体,Button按钮,单击事件代码:
private void BtnSingleThread_Click(object sender, EventArgs e)
{
for (int i = 0; i <= 999999999; i++)
{
}
MessageBox.Show("循环完毕!");
}
当我们在循环期间,发现windows窗体没有响应,并且不能拖动.
其实在页面中创建UI的进程有一个默认的线程,这个线程来完成页面的创建和显示,并且接受用户输入的信息,当单击事件发生之后,
这个默认的线程去执行者个循环,而前面完成页面的创建和显示,并且接受用户输入的信息,并没有执行和响应到,这里就是我们所说的单线程的缺点。
进程和线程
进程包含了线程,一个进程至少有一个线程。
同一个进程中的多个线程可以并发执行
进程包含 存储器,静态数据,程序代码
线程中有 寄存器,堆栈
线程是程序中的执行流,每个线程都有自己的专有寄存器(栈指针,程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行部同的任务(代码),
也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
线程肯定也是要执行一段代码的。所以要产生一个线程,必须先为该线程写一运行所要执行的个方法,这个方法中的代码就是该线程运行所要执行的代码。
(找个人来做一件事)
线程启动时,通过委托调用该方法(委托的好处)
(线程启动时,调用传过来的委托,委托就会执行相应的方法,实现线程执行方法)
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------
单线程的缺点
打开一个windows应用程序,创建一个windows窗体,Button按钮,单击事件代码:
private void BtnSingleThread_Click(object sender, EventArgs e)
{
for (int i = 0; i <= 999999999; i++)
{
}
MessageBox.Show("循环完毕!");
}
当我们在循环期间,发现windows窗体没有响应,并且不能拖动.
其实在页面中创建UI的进程有一个默认的线程,这个线程来完成页面的创建和显示,并且接受用户输入的信息,当单击事件发生之后,
这个默认的线程去执行者个循环,而前面完成页面的创建和显示,并且接受用户输入的信息,并没有执行和响应到,这里就是我们所说的单线程的缺点。
进程和线程
进程包含了线程,一个进程至少有一个线程。
同一个进程中的多个线程可以并发执行
进程包含 存储器,静态数据,程序代码
线程中有 寄存器,堆栈
线程是程序中的执行流,每个线程都有自己的专有寄存器(栈指针,程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行部同的任务(代码),
也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。
线程肯定也是要执行一段代码的。所以要产生一个线程,必须先为该线程写一运行所要执行的个方法,这个方法中的代码就是该线程运行所要执行的代码。
(找个人来做一件事)
线程启动时,通过委托调用该方法(委托的好处)
(线程启动时,调用传过来的委托,委托就会执行相应的方法,实现线程执行方法)
---------------------- Windows Phone 7手机开发、 .Net培训、期待与您交流! ----------------------