首先不管是C#也好,还是java也好,对于已经Abort的线程是无法再次Start的,除非是声明私有变量new一个新的线程,网上也有很多人说可以Suspend挂起线程,然后再Resume继续,但是相信聪明的你们早就发现了,微软官方已经将这两个方法设为过时了,不推荐这么用,现在本人就分享一个本人觉得还算比较好用的方法:

     private List<Thread> _threadList = new List<Thread>();   //记录产生的线程,可声明为全局公共变量 

        public Form1()
{
InitializeComponent();
} private void DoWork()
{
for (int i = ; i < ; i++)
{
if (i == )
{
Thread t = new Thread(() =>
{
while (true)
{
BeginInvoke(new Action(() =>
{
label1.Text =
DateTime.Now.ToString(
"yyyy-MM-dd HH:mm:ss");
}));
Thread.Sleep();
}
});
_threadList.Add(t);
t.Start();
}
else if (i == )
{
Thread t = new Thread(() =>
{
while (true)
{
BeginInvoke(new Action(() =>
{
label2.Text =
DateTime.Now.AddDays().ToString(
"yyyy-MM-dd HH:mm:ss");
}));
Thread.Sleep();
}
});
_threadList.Add(t);
t.Start();
}
else if (i ==)
{
Thread t = new Thread(() =>
{
while (true)
{
BeginInvoke(new Action(() =>
{
label3.Text =
DateTime.Now.AddMonths().ToString(
"yyyy-MM-dd HH:mm:ss");
}));
Thread.Sleep();
}
});
_threadList.Add(t);
t.Start();
}
else if (i == )
{
Thread t = new Thread(() =>
{
while (true)
{
BeginInvoke(new Action(() =>
{
label4.Text =
DateTime.Now.AddYears().ToString(
"yyyy-MM-dd HH:mm:ss");
}));
Thread.Sleep();
}
});
_threadList.Add(t);
t.Start();
}
}
} private void BtnStartClick(object sender, EventArgs e)
{
Thread _threadMain = new Thread(DoWork);
_threadMain.IsBackground = true;
_threadList.Add(_threadMain);
_threadMain.Start();
} private void BtnStopClick(object sender, EventArgs e)
{
foreach (var t in _threadList)
{
t.Abort();
}
_threadList.Clear();
}

以上的代码很简单,界面上两个按钮,4个Lable分别显示4个时间,点击开始按钮,开启4个线程,并把4个线程对象加到List集合中,点击结束按钮,将List中的4个线程对象全都Abort,并将List清空,如果想要重启的效果,则可以先调用Stop,然后再调Start即可,是不是很简单吖

关于C#中的线程重启的问题的更多相关文章

  1. 详解Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失

    在Spring Cloud中我们用Hystrix来实现断路器,Zuul中默认是用信号量(Hystrix默认是线程)来进行隔离的,我们可以通过配置使用线程方式隔离. 在使用线程隔离的时候,有个问题是必须 ...

  2. android中的线程池学习笔记

    阅读书籍: Android开发艺术探索 Android开发进阶从小工到专家 对线程池原理的简单理解: 创建多个线程并且进行管理,提交的任务会被线程池指派给其中的线程进行执行,通过线程池的统一调度和管理 ...

  3. php 5.4中php-fpm 的重启、终止操作命令

    php 5.4中php-fpm 的重启.终止操作命令: 查看php运行目录命令:which php/usr/bin/php 查看php-fpm进程数:ps aux | grep -c php-fpm ...

  4. rxjava源码中的线程知识

    rxjava源码中的线程知识 rx的最精简的总结就是:异步 这里说一下以下的五个类 1.Future2.ConcurrentLinkedQueue3.volatile关键字4.AtomicRefere ...

  5. C#中的线程(一)入门

    文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/ 作者 Joseph Albahari,  翻译 Swanky Wu 中文翻译作者把原文放在了& ...

  6. C#中的线程四(System.Threading.Thread)

    C#中的线程四(System.Threading.Thread) 1.最简单的多线程调用 System.Threading.Thread类构造方法接受一个ThreadStart委托,改委托不带参数,无 ...

  7. C#中的线程三 (结合ProgressBar学习Control.BeginInvoke)

    C#中的线程三(结合ProgressBar学习Control.BeginInvoke) 本篇继上篇转载的关于Control.BeginInvoke的论述之后,再结合一个实例来说明Cotrol.Begi ...

  8. C#中的线程二(Cotrol.BeginInvoke和Control.Invoke)

    C#中的线程二(Cotrol.BeginInvoke和Control.Invoke) 原文地址:http://www.cnblogs.com/whssunboy/archive/2007/06/07/ ...

  9. C#中的线程一(委托中的异步)

    C#中的线程一(委托中的异步) 一.同步委托 我们平时所用的委托以同步居多,我们编写一个方法和相关委托进行演示: publicdelegatevoid DoSomethingDelegate(stri ...

随机推荐

  1. Swift基础语法(三)

    Array数组在swift中Array相当于oc中的NSMutableArray(变长数组) //1.定义数组 var numarr:Int[] = [,,,,]; var strarr:String ...

  2. block的复习

    main.m // //  main.m //  8A10.Block的复习 // //  Created by huan on 16/2/8. //  Copyright © 2016年 huanx ...

  3. 简单的导航viewpager

    下载PagerSlidingTabStrip        https://github.com/astuetz/PagerSlidingTabStrip 主界面: public class Main ...

  4. MySql数据源配置

    1.tomcat的config/server.xml中将以下代码写到 </Host>前: <Context docBase="struts1" path=&quo ...

  5. 代写assignment

    集英服务社,强于形,慧于心 集英服务社,是一家致力于优质学业设计的服务机构,为大家提供优质原创的学业解决方案.多年来,为海内外学子提供了多份原创优质的学业设计解决方案. 集英服务社,代写essay/a ...

  6. CSAPP读书随笔之一:为什么汇编器会将call指令中的引用的初始值设置为-4

    CSAPP,即<深入理解计算机系统:程序员视角>第三版,是一本好书,但读起来确需要具备相当的基本功.而且,有的表述(中译文)还不太直白. 比如,第463页提到,(对于32位系统)为什么汇编 ...

  7. java中String的一些方法

    1.public String(char[] c,begin,length). 从字符数组c的下标begin处开始,将长度为length的字符数组转换为字符串. begin与length可以省略,即将 ...

  8. 第十章 PageRank——Google的民主表决式网页排名技术

    搜索引擎的结果取决于两组信息:网页的质量信息,这个查询与每个网页的相关性信息.这里,我们介绍前一个. 1.PageRank算法原理 算法的原理很简单,在互联网上,如果一个网页被很多其他网页所链接,说明 ...

  9. [ASE][Daily Scrum]12.12

    好久没有写daliy scrum了…… 目前看,我们的无限地图,AI以及计分都差不多成型了,不过还有很多bug在调整当中 今天要做的是 Zhao 调通分数&聊天服务器 Yiming Shili ...

  10. SqlServerProxy的一些资料

    SqlServerProxy的一些资料 下载地址:http://files.cnblogs.com/files/lyhabc/SqlServerProxy.rar 1.特性及实现原理 SqlServe ...