资源简介
多线程开发例子
开发工具: VS2017
版本:framework4.6.1

代码片段和文件信息
using System;
using System.Windows.Forms;
using System.Threading;
namespace WinFormThread
{
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
public delegate void ShowwaitDelegate(bool visible);
public delegate void Calc();
public delegate void SetTxtControl(int i);
private void button2_Click(object sender EventArgs e)
{
Thread thread = new Thread(PostCalc);
thread.IsBackground = true;
thread.Start();
}
private void PostCalc()
{
try
{
Showwait(true);
ManualResetEvent[] _ManualEvents = new ManualResetEvent[2];
_ManualEvents[0] = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(new WaitCallback(calc1) _ManualEvents[0]);
_ManualEvents[1] = new ManualResetEvent(false);
ThreadPool.QueueUserWorkItem(new WaitCallback(calc2) _ManualEvents[1]);
WaitHandle.WaitAll(_ManualEvents);
Showwait(false);
MessageBox.Show(“执行完成“ “提示信息“ MessageBoxButtons.OK MessageBoxIcon.Information);
}
catch(Exception ex)
{
MessageBox.Show(“PostCalc异常“ + ex.ToString()“提示信息“ MessageBoxButtons.OK MessageBoxIcon.Error);
}
}
public void Showwait(bool visible)
{
if (labTest.InvokeRequired)
{
ShowwaitDelegate showwaitDelegate = new ShowwaitDelegate(Showwait);
this.Invoke(showwaitDelegate new object[] { visible });
}
else
{
labTest.Visible = visible;
labTest.Refresh();
}
}
public void calc1( object state)
{
int i = 0;
while (i < 2000)
{
i++;
setTextBox2(i);
Thread.Sleep(1);
}
ManualResetEvent e = (ManualResetEvent)state;
e.Set();
}
public void calc2(object state)
{
int i = 0;
while (i < 1000)
{
i++;
setTextBox3(i);
Thread.Sleep(1);
}
ManualResetEvent e = (ManualResetEvent)state;
e.Set();
}
public void setTextBox2(int i)
{
try
{
if (textBox2.InvokeRequired)
{
SetTxtControl setTxtControl = new SetTxtControl(setTextBox2);
this.BeginInvoke(setTxtControl new object[]{ i });
}
else
{
textBox2.Text = i.ToString();
textBox2.R
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-11-16 15:04 WinFormThread\
目录 0 2017-11-16 15:04 WinFormThread\.vs\
目录 0 2017-11-16 15:04 WinFormThread\.vs\WinFormThread\
目录 0 2017-11-16 15:05 WinFormThread\.vs\WinFormThread\v15\
文件 47616 2017-11-23 19:10 WinFormThread\.vs\WinFormThread\v15\.suo
目录 0 2017-11-16 15:05 WinFormThread\.vs\WinFormThread\v15\Server\
目录 0 2017-11-23 19:10 WinFormThread\.vs\WinFormThread\v15\Server\sqlite3\
文件 0 2017-11-16 15:05 WinFormThread\.vs\WinFormThread\v15\Server\sqlite3\db.lock
文件 598016 2017-11-23 19:10 WinFormThread\.vs\WinFormThread\v15\Server\sqlite3\storage.ide
目录 0 2017-11-23 19:10 WinFormThread\WinFormThread\
文件 1138 2017-11-16 15:04 WinFormThread\WinFormThread.sln
文件 189 2017-11-16 15:04 WinFormThread\WinFormThread\App.config
目录 0 2017-11-23 19:04 WinFormThread\WinFormThread\bin\
目录 0 2017-11-23 19:10 WinFormThread\WinFormThread\bin\Debug\
文件 11264 2017-11-23 19:10 WinFormThread\WinFormThread\bin\Debug\WinFormThread.exe
文件 189 2017-11-16 15:04 WinFormThread\WinFormThread\bin\Debug\WinFormThread.exe.config
文件 22016 2017-11-23 19:10 WinFormThread\WinFormThread\bin\Debug\WinFormThread.pdb
目录 0 2017-11-23 19:04 WinFormThread\WinFormThread\bin\Release\
文件 3866 2017-11-23 19:10 WinFormThread\WinFormThread\frmMain.cs
文件 3916 2017-11-23 19:05 WinFormThread\WinFormThread\frmMain.Designer.cs
文件 5817 2017-11-23 19:05 WinFormThread\WinFormThread\frmMain.resx
目录 0 2017-11-16 15:04 WinFormThread\WinFormThread\obj\
目录 0 2017-11-23 19:10 WinFormThread\WinFormThread\obj\Debug\
文件 1464 2017-11-17 08:31 WinFormThread\WinFormThread\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7196 2017-11-23 19:04 WinFormThread\WinFormThread\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2017-11-16 15:04 WinFormThread\WinFormThread\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2017-11-16 15:04 WinFormThread\WinFormThread\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2017-11-16 15:04 WinFormThread\WinFormThread\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
目录 0 2017-11-16 15:04 WinFormThread\WinFormThread\obj\Debug\TempPE\
文件 42 2017-11-23 19:10 WinFormThread\WinFormThread\obj\Debug\WinFormThread.csproj.CoreCompileInputs.cache
文件 812 2017-11-23 19:10 WinFormThread\WinFormThread\obj\Debug\WinFormThread.csproj.FileListAbsolute.txt
............此处省略13个文件信息
- 上一篇:C#chart控件游标跟随鼠标移动
- 下一篇:基于c#编写的五子棋小游戏
相关资源
- C#多线程以及Socket通讯
- 大文件复制(多线程)
- c# 多线程传图片
- C# 多线程任务池
- 最新9个C# .NET Winform的多线程进度条源
- c# 多线程蜘蛛爬虫
- C# MitiThread.zip C# 多线程
- 《C#并发编程经典》高清带书签
- C# - 大漠多线程控制台
- C# 小闹钟多线程案例
- C#.NET多线程6个(包括多线程基本使用
- C#多线程Demo
- C# vs2012编写多线程网络爬虫(爬图)
- C#多线程编程实战 真正高清完整的中
- C#多线程编程实战_中文完整版带书签
- C#多线程编程实战_中文完整版
- C# ftp多线程断点上传
- C#窗体基于TCP的Socket多线程通信
- C# tcp 多线程聊天室
- 多线程采集网页C#源代码
- WPF下,高性能绘图,写WriteableBitmap,
- c#赛车游戏很实用
- c# 文件全盘搜索 多线程 vs2005 winform
- C# 不使用Task实现的多线程顺序执行
- C#(Csharp)多线程HTTP并发请求(Http
- winform 多线程 多任务管理
- C#多任务多线程组件V1.1源代码
- C#多任务多线程组件源代码
- 大漠的c#多线程模板
- c# 多线程轮询,等待,回调操作
评论
共有 条评论