在C#中如何使用多线程,每隔几秒去执行一个方法?

如题所述

/// <summary>
/// 简单的 线程执行的 方法.
///
/// 这个方法是 静态的
/// </summary>
public static void ThreadFunc()
{
// 线程停止运行的标志位.
Boolean done = false;

// 计数器
int count = 0;

while (!done)
{
// 休眠1秒.
Thread.Sleep(1000);

// 计数器递增
count++;

// 输出.
Console.WriteLine("[静态]执行次数:{0}", count);
}
}

/// <summary>
/// 启动线程的代码.
/// </summary>
public static void StartThread()
{
ThreadStart ts = new ThreadStart(ThreadFunc);
Thread t = new Thread(ts);

// 启动.
t.Start();
}

全部的例子代码看下面的帖子
http://hi.baidu.com/wangzhiqing999/blog/item/0d97c262b0133534ab184ce0.html
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-11-10
现在vs2008一般不用线程,大家都使用委托
1、委托程序
private void WriteLog(string content)
{
//内容自己写
}

2、委托手柄

delegate void WriteLogHandle(string content);

3、委托使用方法

this.Invoke(new WriteLogHandle(WriteLog),new object[]{"参数"});

然后放一个时钟控件,循环去执行方法(3)就行了
第2个回答  2010-11-10
引入名称空间
using System.Threading;

然后使用Thread对象调用方法
例如
do{
方法
Thread.Sleep(2000);
}
while(条件)
第3个回答  2010-11-10
窗体有Timer,线程也有自己Timer类。
你使用线程的Timer类就可以实现了。

在C#中如何使用多线程,每隔几秒去执行一个方法?
\/\/\/ 这个方法是 静态的 \/\/\/ public static void ThreadFunc(){ \/\/ 线程停止运行的标志位.Boolean done = false;\/\/ 计数器 int count = 0;while (!done){ \/\/ 休眠1秒.Thread.Sleep(1000);\/\/ 计数器递增 count++;\/\/ 输出.Console.WriteLine("[静态]执行次数:{0}", count);} } \/\/...

c# for循环 怎么样做才能让他隔一秒执行循环中的一步
2.还可以用timer控件

C# 要想给一个死循环设置循环时间间隔,每5秒循环一次。
.Net 2.0版本代码如下:(3.5或以上可以考虑使用Task)private Thread thread;private void button1_Click(object sender, EventArgs e){if (thread != null){thread = new Thread(new ThreadStart(Loop));thread.Start();}else{MessageBox.Show("轮检已启动。");}}private void Loop(){while ...

急!!!c#中怎样才能让程序一秒钟执行一次啊?
整个程序是不能一秒一次,进程是要打开关闭的。把你需要一秒一次运行的代码放到一起,C#里面有个timer吧?记不太清了,写个延迟放在需要运行的代码前面,再整个括起来加个循环就ok了。比如:while(1){ timer ..}

在C#多线程运行中如何对每个线程的运行时间进行限定 大虾们帮帮忙啊...
用一个线程计时,每隔一秒sleep(1000)一次,设置一个全局变量time,计时线程每隔一秒time++。你需要进行运行时间的线程里面加个判断。if(time >= 60)线程终止。

C#中怎么实现服务器运用多线程定时向客户端发送消息
theout);\/\/到达时间的时候执行事件; t.AutoReset = true;\/\/设置是一直执行(true)还是执行一次(false); t.Enabled = true;\/\/是否执行System.Timers.Timer.Elapsed事件; public void theout(object source, System.Timers.ElapsedEventArgs e) { MessageBox.Show("OK!"); } 多线程方面:

c#中如何延迟几秒再进入下一个循环
可用线程类中的延迟方法:static void Main(){ for (int i = 0; i < 5; i++){ System.Threading.Thread.Sleep(1000);Console.WriteLine(i);} } 上述实现每1000毫秒输出一个数字。

C# timer空间 实现for循环 要求一秒钟更新一下textBox,如何实现?
timer 本身就是定时触发的,设定触发间隔为1秒,直接更新textbox就行了 如果用for循环,写个死循环,中间用 Thread.Sleep(1000),休眠1秒,更新textbox就行了,注意不要进行键盘鼠标操作,否则界面会死掉,建议用多线程

C#开发中什么时候用异步,什么时候用多线程?具体说明一下,谢谢
异步多出现在通信软件中,用于接收和发送数据,当然多线程也可以实现,多线程一般用在同时执行后台数据处理和用户界面的更新的时候!

在C#中怎样运用多线程[MTAThread]
首先不是为了多线程而多线程,多线程会极大的带来额外的出错的几率。C#中第一个打开窗口的线程是主线程,也是处理UI的线程,最好保持这个线程通畅,即不要有阻塞操作,如Thread.Sleep(10);等这样是不好的。耗时的线程需要打开新的线程来操作,而且最好把IsBackground属性设为True。这样在所有前台线程...

相似回答