茶不二的小说哪个好看:线程的挂起与继续
来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 04:18:22
我想在一个鼠标进入一个Form时挂起一个正在运行的线程,当鼠标离开时继续这个线程,
我想应该是要用到 Suspend与Resume。
我的程序现在是:在鼠标进入时Suspend是起作用了,线程的确停下了。但鼠标离开时却没有作用,而且好象整个程序都停下了。
请问我的做法有什么地方不对吗?应该怎么做?
下面例子中对线程t,Suspend和Resume都好用。
private static int count = 0;
private bool flag = true;
private Thread t = new Thread(new ThreadStart(ThreadProc));
private void Form1_Load(object sender, System.EventArgs e)
{
t.Start();
}
public static void ThreadProc()
{
while (true)
{
count ++;
Console.WriteLine( "count: {0} ", count);
Thread.Sleep(1000);
}
}
private void label1_Click(object sender, System.EventArgs e)
{
try
{
if (flag) t.Suspend();
else t.Resume();
flag = !flag;
}
catch (ThreadStateException ex)
{
Console.WriteLine( "ThreadStateException:{0} ", ex.Message);
}
catch(Exception ex)
{
Console.WriteLine( "Exception:{0} ", ex.Message);
}
}
我想应该是要用到 Suspend与Resume。
我的程序现在是:在鼠标进入时Suspend是起作用了,线程的确停下了。但鼠标离开时却没有作用,而且好象整个程序都停下了。
请问我的做法有什么地方不对吗?应该怎么做?
下面例子中对线程t,Suspend和Resume都好用。
private static int count = 0;
private bool flag = true;
private Thread t = new Thread(new ThreadStart(ThreadProc));
private void Form1_Load(object sender, System.EventArgs e)
{
t.Start();
}
public static void ThreadProc()
{
while (true)
{
count ++;
Console.WriteLine( "count: {0} ", count);
Thread.Sleep(1000);
}
}
private void label1_Click(object sender, System.EventArgs e)
{
try
{
if (flag) t.Suspend();
else t.Resume();
flag = !flag;
}
catch (ThreadStateException ex)
{
Console.WriteLine( "ThreadStateException:{0} ", ex.Message);
}
catch(Exception ex)
{
Console.WriteLine( "Exception:{0} ", ex.Message);
}
}
线程的挂起与继续
C#线程挂起的问题
线程的暂停与重新启动
线程--管理线程(使线程中止,暂停,挂起等)(示例下载)
sp2000挂起的问题
C#线程暂停与开启的代码
进程与线程的区别2
进程与线程的区别1
进程与线程的区别123
进程与线程 - orbit的专栏
C#教程:线程的优先权
进程和线程的区别
MFC的进程和线程
Android-有关线程的处理
进程和线程的区别!
牛叉的钉子户!尽然挂起这么强悍的标语
Windows线程同步与互斥技术总结 - 陆小小的专栏 - CSDNBlog
史上最牛的买家把卖家炒得挂起免战牌
用户方式中线程的同步
C#多线程编程:线程的启动
第八章 MFC的进程和线程
进程线程同步的四种方法
WPF跨线程访问线程安全的数据(如解决:该类型的CollectionView不支持从调度程序线程以外的线程对其SourceCollection)
Java 理论与实践: 线程池与工作队列