黑马程序员--单线程与多线程

---------------------- 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培训、期待与您交流! ----------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值