首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

100分求进程或线程有关问题

2012-04-11 
100分求进程或线程问题我在用VB.NET2005开发一个程序时要一个“每10分钟检查一次是否有新邮件。”,从邮件服务

100分求进程或线程问题
我在用   VB.NET   2005   开发一个程序时要一个“每10分钟检查一次是否有新邮件。”,从邮件服务器中检查新邮件代码已搞定,问题出在于在用户正在操作,而10分钟检查新邮件又要执行,这个时候,程序会卡住用户的操作而进行新邮件的检查。

如果你知道:

如何把执行检查新邮件由后台或另一线程执行,反正不要卡住用户的操作。

或者在程序空闲时gfsfgsdgfds
\

我本来写500分的,但最高只能给   100   分,详细者得。


[解决办法]
可以使用异步操作
参考msdn
ms-help://MS.MSDNQTR.2003FEB.2052/cpgenref/html/cpconasynchronousprogrammingdesignpattern.htm
[解决办法]
Dim ThreadMail As Threading.Thread
ThreadMail=new Threading.Thread(AddressOf Function) '{在函数中}

ThreadMail。start()

Function就是要执行的函数,比如检查邮件的那个函数

希望对你有帮助!
[解决办法]
http://msdn2.microsoft.com/en-us/library/system.componentmodel.backgroundworker_members.aspx
[解决办法]
在系统中启用线程进行新邮件检查
dim th as new threading.thread(addressof checkmail)
th.start()

checkmail方法
private sub CheckMail()
while true
'检查新邮件的方法
'新邮件的处理
thread.CurrentThread.Sleep(600000)
end while
end sub
[解决办法]
如果你用定时器,在10分钟时,触发了检查邮件的函数(没有用线程),那么你的窗口,需要等到邮件函数结束后,才能处理其他事情。在这期间,你的窗口将处于假死状态。
解决方法是使用线程来执行你的邮件检查函数。值得注意的是,使用了线程后,线程不可以直接操作你的窗口控件。解决方法是使用 Invoke(new EventHandler(m_UploadThread_OnFinish), sender, e);

[解决办法]
使用 多线程 试试

http://www.pconline.com.cn/pcedu/empolder/net/vb/0504/593606.html

热点排行