求教一个关于C#中线程的问题! 我做了一个windows小程序,其中涉及了大量的数据库操作,运行时一直处于窗口一直处于假死状态,我到网上看到,说可以用线程来解决,但我看了之后,不是很明白具体意思,能不能给解释一下,最好能给点代码:)我是初学者,谢谢大家的帮助!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 界面的处理(响应用户、窗口的维护)工作是有一个线程来处理的,而你的业务操作也放在这个线程中的化,因为工作量很大,用来维护窗口的线程的精力就不足了,表现就是假死、不响应你的请求,对于这种情况你可以把业务处理交给另外的线程来处理,这样界面线程就有足够的时间来处理它应该处理的事务。线程是任务处理的基本流程通道,cpu处理不同的线程是并行的(对单cpu系统严格来说不是,但可以认为它们拥有在单位时间内以均等机率运行的权利,当然这个机率和他们所在进程的优先级有关)。界面的维护不能有任何延时。你去饭店吃饭,一进门会有专人接待,但是接待的人并不兼任厨师一样,你可以想象一下,厨师兼任接待的话,恐怕大家进门后都得等待很长时间没有人理你。所以在界面线程(就是彻主线程)中最好不要做工作量不能忽略的操作。 谢谢sunyou(砂子)的回答,但我还是不知道怎么写:),例如我要点击“确定”按钮之后,处理繁琐的数据库操作, 此时怎么用代码实现, 能不能用简略的代码表示一下,谢谢了:) 谢谢sunyou(砂子)的回答,但我还是不知道怎么写:),例如我要点击“确定”按钮之后,处理繁琐的数据库操作, 此时怎么用代码实现多线程, 能不能用简略的代码表示一下,谢谢了:) 1.首先引入命名空间using System.Threading; using System.Threading;Thread t=new Thread(new ThreadStart(this.run));t.Start(); ///////////////private void run() {数据库操作} 学习====CSDN 小助手 V2.5 2005年11月05日发布====CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx下载:http://szlawbook.com/csdnv2 C#窗体设计,界面布局常见问题 后台DropDownList 默认 C#模拟http协议封包Proxy-Connection 虚拟目录下的程序放到网站下就不可用了 急~~~ 在C#中如何通过IP知道这台电脑的机器名,域和登陆的帐号呢? 如何在RichTextBox中显示指定行号到屏幕中间? 怎样将"D:\icon\button02.bmp"转化成System.Drawing.Image类型,以便显示出来 急求C#版的文件比较器 C# 设计窗口里打开网站 WPF中DataGrid控件绑定集合后排序 如何更改RowState?!!! 一个菜鸟向高手请教Textbox初始化的问题?
线程是任务处理的基本流程通道,cpu处理不同的线程是并行的(对单cpu系统严格来说不是,但可以认为它们拥有在单位时间内以均等机率运行的权利,当然这个机率和他们所在进程的优先级有关)。界面的维护不能有任何延时。你去饭店吃饭,一进门会有专人接待,但是接待的人并不兼任厨师一样,你可以想象一下,厨师兼任接待的话,恐怕大家进门后都得等待很长时间没有人理你。所以在界面线程(就是彻主线程)中最好不要做工作量不能忽略的操作。
using System.Threading;
t.Start();
///////////////
private void run()
{
数据库操作
}
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2