zoukankan
html css js c++ java
c# 多线程基本操作
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.Threading;
namespace
winfromDeom
{
public
partial
class
Form1 : Form
{
public
Form1()
{
InitializeComponent();
}
private
void
Form1_Load(
object
sender, EventArgs e)
{
button2.Enabled
=
false
;
}
//
声名一个线程
public
Thread t;
public
delegate
void
upUI();
private
void
button1_Click(
object
sender, EventArgs e)
{
progressBar1.Value
=
0
;
button1.Enabled
=
false
;
button2.Enabled
=
true
;
//
实列化一个线程
t
=
new
Thread(
new
ThreadStart(doThread));
//
设置是否是后台执行的线程
t.IsBackground
=
true
;
//
开始执行这个线程
t.Start();
}
private
void
doThread()
{
//
更新UI委托
upUI upui
=
new
upUI(upDataUi);
try
{
while
(
true
)
{
Thread.Sleep(
0
);
//
开始更新UI
this
.Invoke(upui);
}
}
finally
{
Thread.Sleep(
5000
);
}
}
private
void
button2_Click(
object
sender, EventArgs e)
{
//
设置为终止状态
t.Abort();
//
阻塞这个线程
t.Join();
button1.Enabled
=
true
;
button2.Enabled
=
false
;
}
/**/
///
<summary>
///
执行UI更新的方法
///
</summary>
private
void
upDataUi()
{
if
(progressBar1.Value
!=
100000
)
{
progressBar1.Value
=
progressBar1.Value
+
10
;
label1.Text
=
progressBar1.Value.ToString();
}
else
{
t.Abort();
t.Join();
button1.Enabled
=
true
;
button2.Enabled
=
false
;
}
}
private
void
Form1_FormClosing(
object
sender, FormClosingEventArgs e)
{
t.Abort();
t.Join();
}
}
}
查看全文
相关阅读:
laravel 解决保存Emoji 表情问题
下载微信头像下载不了
微信公众号开发遇到simplexml_load_string 未定义
部署php的正确姿势
ubuntu 安装 mysql 的正确姿势
laravel 部署 前后端分离
nwjs 解决手指可滑动问题
Java8新特性Optional、接口中的默认方法与静态方法
Java设计模式百例
一位资深程序员大牛给予Java初学者的学习路线建议
原文地址:https://www.cnblogs.com/wubiyu/p/818810.html
最新文章
[golang] Glide 包管理工具,在windows10 64位系统上的bug修复方案
使用go实现基于命令行的计算器程序
go语言中将函数作为变量传递
go开发环境搭建及开发工具简介
Mysql多列索引经典案例
图解Mysql语句的执行过程
js/jquery this 坑
mysql 累加求和
python读写文件
python 如何获取当前文件/文件夹
热门文章
django管理后台添加admin账号
【转】Django 图表制作(By Highcharts)
【转】Jenkins 二次开发
Django从MySQL数据库生成model
Django 模板格式化日期
django for 循环中,获取序号
ubuntu 部署 wiki.js
laravel 解决session保存不了,取不出的问题
git 忽略文件
关于手贱--npm 误改全局安装路径
Copyright © 2011-2022 走看看