这几天做一个小程序需要用到线程的暂停与恢复 ,搞来搞去用Thread.Suspend和Thread.Resume总达不到想要的结果。后来百度一下 总结写了一个方法,共享一下 ~~~~~~~~~~
2013-05-22 16:15
706 查看
public partial class Form1 : Form
{
AutoResetEvent are = new AutoResetEvent(false);//设置自动重置事件默认值为非终止状态
public Form1()
{
InitializeComponent();
TextBox.CheckForIllegalCrossThreadCalls = false;//关闭文本框的跨线程操作检查
}
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(fun);
t.IsBackground = true;
t.Start();
}
//在线程中执行的方法
private void fun()
{
int i = 0;
while (i<9999)
{
i += 1;
textBox2.Text = i.ToString();
if (textBox1.Text =="false")
{
are.WaitOne();//阻塞当前线程
}
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "false";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text = "true";
are.Set();//释放所有被阻塞的线程
}
}
{
AutoResetEvent are = new AutoResetEvent(false);//设置自动重置事件默认值为非终止状态
public Form1()
{
InitializeComponent();
TextBox.CheckForIllegalCrossThreadCalls = false;//关闭文本框的跨线程操作检查
}
private void button1_Click(object sender, EventArgs e)
{
Thread t = new Thread(fun);
t.IsBackground = true;
t.Start();
}
//在线程中执行的方法
private void fun()
{
int i = 0;
while (i<9999)
{
i += 1;
textBox2.Text = i.ToString();
if (textBox1.Text =="false")
{
are.WaitOne();//阻塞当前线程
}
}
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = "false";
}
private void button3_Click(object sender, EventArgs e)
{
textBox1.Text = "true";
are.Set();//释放所有被阻塞的线程
}
}
相关文章推荐
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- Java获取随机数的3种方法和总结(正在做一个小游戏 用到了 想总结一下 保存了 以后自己看)
- vs2005里,建立一个MFC单文档程序,未选择数据库支持,后来需要用sql server的处理方法
- Delphi中保证程序只运行一个实例的方法总结
- 封装一个素数方法,在使用散列表时需要预置大小,需要用到这个方法
- 【Java面试题】23 java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
- 编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推
- 为何在一个类中定义了带参数的构造方法的时候,需要把无参构造方法定义一下
- 笔试题:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
- 关于toast的使用方法总结,程序同一时刻只有一个toast,和toast的样式设置。
- java 线程Thread方法之suspend()和resume()
- java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用
- 一道小测试题,一个线程既实现了Runnable接口又继承Thread方法
- 做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法。 很方便的,于是就简单的整理了一下。 1.1 showMessageDialog 显示一个带有OK 按钮的模态
- 解决问题最重要的习惯不是一直盯着屏幕和编写修改代码,某些时候,阻止你成功的东西恰恰会是过于努力。这时候你需要暂停一下,平缓你的思绪,换一种方法或许能带给你不一样的效果。
- Java - Thread类的sleep()方法和对象的wait()方法都可以让线程暂停执行,它们有什么区别?
- 在一个有返回值的方法里使用了子线程,如何返回子线程中的值,如下代码中,我在子线程获取到了address的值,但是这个方法的返回结果是空,该如何解决?
- .net 网站首页,本次的项目中用到的一个网站首页中统计网页访问量的工具方法,我觉得它应该在pagebase里面,拿来用一下
- Thread类的sleep()方法和对象的wait()方法都能使线程暂停执行,他们有什么区别?