C#【时间相关篇】System.Threading.Timer如何停止
c# 如何 时间 相关 system 停止 timer Threading
2023-09-11 14:15:48 时间
using System;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
ThreadPool.SetMaxThreads(5000, 1000);
TimerCallback callback = new TimerCallback(ThreadPoolMessage);
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.fff"));
Timer t = new Timer(callback, "Hello Jack! ", 0, 1000);
Thread.Sleep(5000);
//停止timer回调
//t.Dispose();//方法一,直接关闭销毁释放
t.Change(-1, 0);//方法二,暂停,和方法一有区别,可恢复
/*暂停: Change(-1,任意值);
启动: Change(多长时间后启动,时间间隔周期);*/
Thread.Sleep(5000);//暂停5s
t.Change(0, 1000);//重新启动回调
//t.Change(2000, 1000);//重新启动回调
Console.ReadKey();
//Console.ReadLine();
}
//显示线程池现状
static void ThreadPoolMessage(object data)
{
int a, b;
ThreadPool.GetAvailableThreads(out a, out b);
string message = string.Format("{0}\n CurrentThreadId is:{1}\n" +
" CurrentThread IsBackground:{2}\n" +
" WorkerThreads is:{3}\n CompletionPortThreads is:{4}\n",
data + "Time now is " + DateTime.Now.ToString("HH:mm:ss.fff"),
Thread.CurrentThread.ManagedThreadId,
Thread.CurrentThread.IsBackground.ToString(),
a.ToString(), b.ToString());
Console.WriteLine(message);
}
}
}
相关文章
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)0-------通过应用程序域AppDomain加载和卸载程序集
- C#.Net 如何动态加载与卸载程序集(.dll或者.exe)3---- 动态加载Assembly应用程序
- C#如何使用和开发自定义配置节
- C#如何正确运用异步编程技术
- C#面向服务WebService从入门到精通
- 基于C#+Thrift操作HBase实践
- C#.NET常见问题(FAQ)-如何使用变量动态添加控件
- C#.NET常见问题(FAQ)-如何让Listbox支持多选
- C#.NET常见问题(FAQ)-如何给Listbox添加右键菜单
- C#.NET常见问题(FAQ)-Visual Studio VS如何显示行号
- C#基础视频教程6.2 如何简单读写数据库
- C#如何引用定义好的dll文件
- C#的DataGridView如何修改字体
- C#.NET 如何在系统变量中加入新的环境变量
- C# 如何修改Form不能修改窗体大小
- [C#]使用HttpWebRequest请求远端服务器时如何加载SSL证书
- .NET(C#) Internals: as a developer, .net framework in my eyes
- C# winform key value型数据如何绑定ComBox (hashtable,keyvaluepair,dictionary )
- C#进阶系列——WebApi 身份认证解决方案:Basic基础认证
- C#实现office文档转换为PDF格式
- C#的换行符和回车符在程序语句中如何表示?
- C# 可以利用反射给只读属性赋值吗?
- C# 如何识别一个字符串是否Json格式
- C# 结构(很少能用到)
- Atitit.收银机小票打印功能的设计 java php c#.net版本
- C# 去除文件非法字符名
- JS直接调用C#后台方法(ajax调用)
- C#Winform程序如何发布并自动升级(图解)
- c#Winform自定义控件-目录-HZHControls
- C# 泛型Generic
- C# DataTable&DataSet