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. Java复习 之流

    在Java程序中 对于数据的输入/输出操作以“流”方式进行:提供了各种各样的流类,用以获取各种不同的种类的数据,程序中通过标准的方法输入或输出数据 Inputstream 例子1: 但是中文会乱码 应 ...

  2. 关于servlet转发和重新定向

    1:重新定向, 是sendRdix(记忆关键词R),firbug中的请求是两个 2:转发 是dispt,(记忆关键词是F),firbug中的请求时一个

  3. asp.net 如何判断输入的值 包括 汉字?

    string input = " 里面是不是汉字 ";bool bl= System.Text.RegularExpressions.Regex.IsMatch(input, @& ...

  4. CentOS6开启BBR加速

    BBR TCP加速,Google出品神器,需 kernel 4.9以上.开启后服务器的访问明显快很多,对于vultr和digitalocean这种国外服务器很适合,感觉使用后Shell输入也没那么卡了 ...

  5. git 分支合并develop 重新拉取

    1.本地包 zb-local 上传到对应的线上分支 zb-online cd 进入本地所在文件夹,然后执行下面三项 git add . git commit -m '修改' git push   或者 ...

  6. SPSS-生存分析

    生存分析 定义:一些医学事件所经历的时间:从开始观察到事件发生的时间,不是短期内可以明确判断的.针对这类生存资料的分析方法叫生存分析.生存分析的基本概念1.终点事件终点事件outcome event: ...

  7. 线段树模板(HDU 6356 Glad You Came)

    题目: HDU 6356 http://acm.hdu.edu.cn/showproblem.php?pid=6356 很裸的线段树 #include<bits/stdc++.h> #de ...

  8. MAT eclipse内存分析工具

      启动的时候提示: Failed to load the JNIshared library 解决办法: 查看配置文件:MemoryAnalyzer.ini --launcher.librarypl ...

  9. dubbo 实战

    dubbo 官网:http://dubbo.apache.org/zh-cn/docs/user/quick-start.html dubbo-admin 下载 : https://github.co ...

  10. day13 多个装饰器叠加 生成式

    1.装饰器剩余 from functions import wraps @wrap(func) 会把func内的自带方法赋给wrapper,这样wrapper装饰函数就和原函数一模一样 多个装饰器叠加 ...