通常我们需要定时执行一段任务的时候,我们就需要定时器,这时我们就可以使用c# System.Threading空间中的 Timer定时器;他是个异步定时器,时间到时每次都是在线程池中分配一个线程去执行任务。下面我们来看一个有趣的例子:
C# Timer的垃圾回收机制
C# AutoResetEvent和ManualResetEvent的区别
终止状态和非终止状态
首先说说线程的终止状态和非终止状态。AutoResetEvent和ManualResetEvent的构造函数中,都有bool变量来指明线程的终止状态和非终止状态。true表示终止状态(个人理解也就是可运行状态,根据理解应该是该线程的阻塞终止了),false表示非终止状态。
批处理创建快捷方式
工作中,用户提到希望软件安装以后在指定的位置创建一个快捷方式(非桌面,开始菜单)。在网上搜了一些解决方案,测试后总结如下:
第一种方法是使用URL的方法,创建一个指向指定文件的链接。实际上你双击快捷方式的时候是打开了一个本地的网址: