1: 因为程序涉及到上传,开始暂停,继续,删除, thread 在老版本用使用th.Abort(); th.Resume(); 停止 恢复  th.Suspend(); 挂起

猛的一看挺合适啊..但微软已经明确指出已经过时了.  在使用的过程中,几个状态来回切换几次,很容易出现问题, 判断了好多种状态,最后还是报异常.所以这种方式不建议用了,尽管强用还可以用,但用起来非常的不流畅.

比如下边大家看看单单状态的判断

    else  if(th.ThreadState == (ThreadState.Background | ThreadState.Suspended))
{
th.Resume();
th.Abort();
this.gridView1.DeleteSelectedRows();
Console.WriteLine("线程终止");
}
下边

if (th.ThreadState == (ThreadState.Background | ThreadState.Running))
{
th.Suspend();
Console.WriteLine("线程挂起");
}

 

就这样加上了,程序还是会出现异常.所以淘汰了应该处于上边的原因吧.

2:那既然不能用了.该用什么呢?  可以用thread 加信号机制的方式实现附加一个程序

namespace Test
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
Label.CheckForIllegalCrossThreadCalls = false;
}
Thread thread;
ManualResetEvent ma;
bool on_off = false;
bool stop = false;
private void button1_Click(object sender, EventArgs e)
{
thread = new Thread(Runtime);
thread.Start();
}
void Runtime()
{
for (int i = ; i <= ; i++)
{
if (stop)
return;
if (on_off)
{
ma = new ManualResetEvent(false);
ma.WaitOne();
} textBox1.AppendText("计时 :" + i + "\r\n");
Thread.Sleep();
}
} private void button2_Click(object sender, EventArgs e)
{
on_off = true;
textBox1.AppendText("暂停中 :\r\n");
}
private void button3_Click(object sender, EventArgs e)
{
on_off = false;
ma.Set();
textBox1.AppendText("继续计时 :\r\n");
}
private void button4_Click(object sender, EventArgs e)
{
stop = true;
textBox1.AppendText("停止计时 \r\n");
}
}
}

上边 配合on off  有个 ma.set() 发送信号,相当于地铁的入站口刷卡.  ma.waitone () 程序暂停处 相当于那个档子, set 刷卡, 档子撤开,程序继续进行下一步.

c# 上传excel数据总结(一)线程的使用的更多相关文章

  1. 上传excel数据到数据库中

    上传excel表格数据到数据库 导入固定路径下的excel数据到数据库 <form id="disposeFlightDataForm" action="../up ...

  2. Uploadify上传Excel到数据库

    前两章简单的介绍了Uploadify上传插件的基本使用和相关的属性说明.这一章结合Uploadify+ssh框架+jquery实现Excel上传并保存到数据库.         以前写的这篇文章 Jq ...

  3. ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据

    ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案   ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...

  4. SpringBoot(十三)_springboot上传Excel并读取excel中的数据

    今天工作中,发现同事在整理数据,通过excel上传到数据库.所以现在写了篇利用springboot读取excel中的数据的demo.至于数据的进一步处理,大家肯定有不同的应用场景,自行修改 pom文件 ...

  5. 关于PHPExcel上传Excel单元格富文本和时间类型读取数据问题

    当用PHPExcel做Excel上传文件读取数据时,print_r出来的数据,竟然发现其中有几个单元格返回的是PHPExcel富文本对象,而且时间类型的单元格返回的是一个不是时间戳的五位数.就像下图那 ...

  6. layui上传Excel更新数据并下载

    前言: 最近做项目遇到了一个需求,上传Excel获取数据更新Excel文档,并直接返回更新完的Excel到前端下载:其实需求并没有什么问题,关键是前端用到的是layui上传组件(layui.uploa ...

  7. postman上传excel,java后台读取excel生成到指定位置进行备份,并且把excel中的数据添加到数据库

    最近要做个前端网页上传excel,数据直接添加到数据库的功能..在此写个读取excel的demo. 首先新建springboot的web项目 导包,读取excel可以用poi也可以用jxl,这里本文用 ...

  8. Django上传excel表格并将数据写入数据库

    前言: 最近公司领导要统计技术部门在各个业务条线花费的工时百分比,而 jira 当前的 Tempo 插件只能统计个人工时.于是就写了个报表工具,将 jira 中导出的个人工时excel表格 导入数据库 ...

  9. 通过POI实现上传EXCEL的批量读取数据写入数据库

    最近公司新增功能要求导入excel,并读取其中数据批量写入数据库.于是就开始了这个事情,之前的文章,记录了上传文件,本篇记录如何通过POI读取excel数据并封装为对象上传. 上代码: 1.首先这是一 ...

随机推荐

  1. SQL Server 中BIT类型字段增删查改那点事

    话说BIT类型字段之前,先看“诡异”的一幕,执行Update成功,但是查询出来的结果依然是1,而不是Update的2 当别人问起我来的时候,本人当时也是处于懵逼状态的,后面联想具体的业务突然想起来这个 ...

  2. mybatis实现一对多连接查询

    问题:两个对象User和Score,它们之间的关系为一对多. 底层数据库为postgresql,ORM框架为mybatis. 关键代码如下: mybatis配置文件如下: mybatis.xml文件内 ...

  3. 12.JDBC-mysql.md

    目录 API简述 Driver接口: 表示java驱动程序接口.所有的具体的数据库厂商要来实现此接口. DriverManager类: 驱动管理器类,用于管理所有注册的驱动程序 Connection接 ...

  4. 初探 objc_msgSend函数

    1.0 执行某个对象的方法    [receiver message] 被编译为: id objc_msgSend(id self,SEL op,...): objc_msgSend 发送信息的过程 ...

  5. ubuntu16 安装openssh-server 一直安装不上Unable to correct problems, you have held broken packages

    zengqi@zengqi:~$ sudo apt-get install openssh-server Reading package lists... DoneBuilding dependenc ...

  6. oracle RMAN使用

    一步一步学RMAN 备份 RMAN连接上ORACLE,WINDOWS下在命令模式下 RMAN TARGET / 连接本地数据库用的是本地认证模式.RMAN连接数据库必须在dedicate模式下.因此在 ...

  7. Codeforces Round #499 (Div. 2) D. Rocket题解

    题目: http://codeforces.com/contest/1011/problem/D This is an interactive problem. Natasha is going to ...

  8. jquery 页面传值 汉字

    function getURLParameter(name) { return decodeURIComponent( (new RegExp('[?|&]' + name + '=' + ' ...

  9. Controlled Components

    [Controlled Components] In HTML, form elements such as <input>, <textarea>, and <sele ...

  10. Linux 学习总结(二)

    一.用户与用户组管理 1.添加用户 useradd 选项 用户名 -c 指定一段注释性描述 -d 目录,指定用户目录,若目录不存在,-m 选项可以创建目录 -g 指定用户所属用户组 -s 指定用户登陆 ...