首先,用递归算法遍历目录,并在foreach循环中把文件的一些信息,如文件名,大小等存入access中,我想实现的功能就是,用一个按钮,刚开始text属性问"扫描",按下按钮后开始foreach循环扫描,此时按钮变成"暂停",按下按钮后,循环中断,再次按下按钮,循环继刚才中断处继续循环,请各位朋友帮帮忙
之前有朋友说用thread线程的suspend和resume,但这2个在.net2.0中都过时了
之前有朋友说用thread线程的suspend和resume,但这2个在.net2.0中都过时了
解决方案 »
- 后缀名问题
- Windows Forms Programming with C#(windows窗体编程)的下载地址谁有?
- 关于dataGridView1循环删除有什么办法?
- 如何读取SQL Server内容至TextBox
- 怎样给转为按钮的链接文字引用ccs样式?
- 关于编辑框数据接受的问题
- 用pb写的加密狗,写的时候是中文,但是在c#里面读出来却是乱码,大家有遇到过吗?用什么方法处理才能正确显示中文?
- C# datagrid 捕获键盘事件
- c# 判断字符串 求判断条件.......
- c#下面有什么好的Socket 框架?
- c#给com传入istream,居然取不出来
- 一个关于BackgroundWorker 的问题
由于 System.Threading.Thread.Suspend 和 System.Threading.Thread.Resume 不依赖于受控制线程的协作,因此,它们极具侵犯性并且会导致严重的应用程序问题,如死锁(例如,如果挂起的线程占有另一个线程需要的资源,就会发生这种情况),所以在.net framework2.0中标记为过时并且以后将取消这两个方法。 暂停还可以用Thread.Sleep()来实现,如何恢复,没想好...
{
CanResume = false;
//这个while也要用个线程去跑...
while(CanResume)
{
Thread.Sleep(0);
}
}Button_Resume_Click()
{
CanResume = false;
}
{
CanResume = false;
//这个while也要用个线程去跑...
while(!CanResume)
{
Thread.Sleep(0);
}
}Button_Resume_Click()
{
CanResume = true;
}
Threading.Monitor.Enter
Threading.Monitor.Pulse
Threading.Monitor.Exithttp://blog.csdn.net/wuyazhe/archive/2006/11/09/1375082.aspx
http://user.qzone.qq.com/31767702
互斥,可以尝试下
metux.waitone(); == thread.suspend()
metux.ReleaseMutex() == thread.resume()
参见
http://blog.csdn.net/tjvictor/
中的
C#中使用Monitor类、Lock和Mutex类来同步多线程的执行