关于C# WinForm 求助,线程的问题。
开发一个WinForm程序,现在有个查询数据库的过程,想请教,在查询数据库的过程中,窗体就处于锁定状态了,应该如何处理才能进程中查询数据库的过程中,其他控件、窗口都能继续...
开发一个WinForm程序,现在有个查询数据库的过程,想请教,在查询数据库的过程中,窗体就处于锁定状态了,应该如何处理才能进程中查询数据库的过程中,其他控件、窗口都能继续操作。是否跟线程死锁有关,请教。
展开
3个回答
展开全部
用户看到的、操作的都在UI线程即主线程,不能在主线程做耗时操作,比如查询。
另开一个线程即可。
另开一个线程即可。
追问
这个怎么和主线程区分开啊,线程这个还是不太懂。
追答
参照楼下的代码吧,他写的很对。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把查询数据库的方法写在新线程里面,这样就不会出现界面假死情况。
例:
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(SelectDatas))
{
IsBackground = true,
Name = "selectSql
};
thread.Start();
void SelectDatas()
{
//查询数据库方法
}
例:
System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(SelectDatas))
{
IsBackground = true,
Name = "selectSql
};
thread.Start();
void SelectDatas()
{
//查询数据库方法
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询