`
isiqi
  • 浏览: 15946536 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用 Visual C# .NET 创建线程

阅读更多

概要
在 Visual C# .NET 中,您可以编写多线程应用程序。本文介绍简单的 Visual C# .NET 应用程序如何创建和管理线程。

要求
下面的列表概括了推荐的硬件、软件、网络结构以及所需的 Service Pack: • Microsoft Windows 2000 或 Microsoft Windows XP
• Microsoft Visual C# .NET
本文假定您熟悉下列主题: • Visual C# .NET 编程
• Visual Studio .NET 集成开发环境 (IDE)

使用线程创建 Visual C# .NET 应用程序
1. 启动 Microsoft Visual Studio .NET。
2. 新建名为 ThreadWinApp 的 Visual C# .NET Windows 应用程序项目。
3. 向窗体添加一个“Button”控件。默认情况下,该按钮名为“Button1”。
4. 向窗体添加一个“ProgressBar”组件。默认情况下,该进度栏名为“ProgressBar1”。
5. 右键单击该窗体,然后单击“查看代码”。
6. 将以下语句添加到文件的开头:
using System.Threading;

7. 为“Button1”添加以下“Click”事件处理程序:

1privatevoidbutton1_Click(objectsender, System.EventArgs e)
2{
3MessageBox.Show("This is the main thread");
4}


8. 将下面的变量添加到 Form1 类:
private Thread trd;


9. 将下面的方法添加到 Form1 类:

1privatevoidThreadTask()
2{
3intstp;
4intnewval;
5Random rnd=newRandom();
6while(true)
7{
8stp=this.progressBar1.Step*rnd.Next(-1,2);
9newval =this.progressBar1.Value +stp;
10if(newval >this.progressBar1.Maximum)
11newval =this.progressBar1.Maximum;
12elseif(newval <this.progressBar1.Minimum)
13newval =this.progressBar1.Minimum;
14this.progressBar1.Value =newval;
15Thread.Sleep(100);
16}

17}


注意:这是创建线程的基础代码。此段代码是一个无限循环,它随机增加或减小“ProgressBar1”中的值,然后等待 100 毫秒后再继续。

10. 为“Form1”添加以下 Load 事件处理程序。此段代码将新建一个新线程,使该线程成为后台线程,然后启动该线程。

1privatevoidForm1_Load(objectsender, System.EventArgs e)
2{
3Thread trd =newThread(newThreadStart(this.ThreadTask));
4trd.IsBackground =true;
5trd.Start();
6}


确认它可以使用
1. 生成并运行该应用程序。请注意,“ProgressBar1”中的值会随机更改。这是新线程在起作用。
2. 要演示主线程独立于更改“ProgressBar1”值的线程,请单击窗体上的按钮。会出现一个对话框,其中显示下面的错误信息:
This is the main thread

Wait for input.请注意,“ProgressBar1”中的值会继续更改。


疑难解答
在更复杂的应用程序中,确保在访问共享变量时同步多个线程。有关详细信息,请参阅 Visual C# .NET 联机帮助文档中的“lock”语句和相关主题。

参考
有关详细信息,请访问下面的 Microsoft Web 站点或参阅 .NET Framework SDK 文档:


“Thread 类”
http://msdn2.microsoft.com/en-us/library/system.threading.thread(vs.71).aspx (http://msdn2.microsoft.com/en-us/library/system.threading.thread(vs.71).aspx)


--------------------------------------------------------------------------------

这篇文章中的信息适用于:
• Microsoft Visual C# .NET 2002 标准版
• Microsoft Visual C# .NET 2003 标准版
• Microsoft ADO.NET 1.0
• Microsoft Common Language Runtime (included with the .NET Framework) 1.0

关键字: kbhowtomaster kbthread kbnamespace kbthreadsync KB815804

分享到:
评论

相关推荐

    Visual C# .NET精彩编程实例集锦

    实例125 如何使用水晶报表向导创建报表 第7章 网络应用 ---------------------------------- 实例126 如何下载网页 实例127 如何上下载文件 实例128 如何自制浏览器 实例129 如何检查邮件数量 实例130 如何发送电子...

    Visual C#.NET编程精粹150例.rar

    第1章 C#编程基础  实例1 Hello C#!...第4章 线程 第5章 文件处理和系统操作 第6章 数据库编程 第7章 网络编程 第8章 Web应用程序的开发 第9章 多媒体 第10章 安全性 第11章 设计模式 第12章 杂例

    Visual C#.NET入门与提高(有源代码)

    MDI窗体程序\ 菜单程序\ 按钮用法程序\ 表视图树视图程序\ 分割条分组框程序\ 复杂控件程序\ 图象时钟示例程序\ ...使用ADO.NET访问数据库程序\ 触发与创建事件程序\ 创建WINDWOS控件\ 验证控件程序

    《Visual C# .NET精彩编程实例集锦》配套光盘文件【全】

    《Visual C# .NET精彩编程实例集锦》配套光盘文件【全】 目录回到顶部↑ 前言 第1章 控件操作 实例1 如何使用错误提醒控件 实例2 如何使用信息提示控件 实例3 如何使用菜单控件 实例4 如何使用工具栏控件 实例...

    Visual C#.Net Socket 聊天室的开发

    • 学习Visual C#.Net Socket类的使用 • 学习基本UI控件的使用 • 学习多线程的开发 • 学习聊天室的原理

    VB.Net-C#多线程Thread-代理委托delegate编程

    c#.net多线程同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#多线程编程-多细全.txt C#多线程编程简单实例.txt C#多线程窗体控件安全访问.txt C#多线程使用TextBox控件 .txt C#多线程注意点.txt Control的...

    Visual C#.NET从入门到精通

    第三部分 C#.NET程序设计 第22章 数据库介绍 第23章 活动数据对象:ADO.NET 第24章 Windows应用介绍 第25章 活动服务页:ASP.NET 第26章 Web服务 附录A C#关键字 附录B C#编译选项 附录C 正则表达式

    C#.net常用函数和方法集

    C#.net常用函数和方法集 1 用C#.net轻松制作不规则窗体 4 VisualC#制作可伸缩个性化窗体 8 如何用C#实现漂亮的动态图像按钮 16 C#中将Big5繁体转换简体GB2312的代码 20 利用VS.NET创建C#Windows服务 21 c#线程 23 ...

    c#.net程序设计教程(江红)

    具体内容包括c#.net语言基础、面向对象编程、结构、枚举、泛型、特性、语言集成查询、多线程编程技术、数值日期和字符串处理、文件和流输入输出、集合、数据库访问、windows窗体应用程序、wpf应用程序、asp.net web...

    Visual C#学习笔记光盘

    第二篇介绍.NET与C#核心技术,主要内容包括.NET框架,C#.NET命名空间和程序集,字符处理,组件和部署;第三篇主要介绍Windows窗体程序,主要包括Windows窗体,WinForms高级控件,菜单和对话框,GDI+的应用和网络...

    Microsoft.Visual.C#.2010.Step.by.Step].(John.Sharp).中英文文字版

    验证数据输入管理错误和处理异常使用垃圾回收来管理内存资源使用泛型,构建新的类型,创建可重用的组件使用LINQ和ADO.NET来查询和操作数据深入探索任务并行库中的多线程支持使用WindowsCornmurllcatior1Foundation来...

    C#.NET入门到精通.ppt

    本书从初学者角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用Visual C#进行WinForm应用程序开发应该掌握的各方面技术。全书共分28章,包括初识C#及其开发环境,开始C#之旅,变量与常量,表达式与...

    Visual C# 2005开发技术

    c# visual 软甲开发 线程 .net 类 抽象类 继承 异常 xml windows应用程序部署 多线程 试驾追踪

    北京中科信软 Visual Basic.NET培训

    二 .NET框架&C#编程 面向对象的基本知识体系 .NET中的面向对象设计与应用 C#与设计模式 泛型 C#中的新特性 程序集 .NET应用程序部署和版本控制 委托和事件 线程 反射 对象序列化 数据流和文件 Internet...

    《Visual C# 2008大学教程 第3版》.(刘文红).[PDF]&ckook.pdf

    本书介绍最新C#版本Visual C# 2008的关键新特性,包括LINQ特性、使用LINQ to SQL的数据库、WPF GUI和图形、WCF Web服务、ASP.NET3.5与ASP.NET AJAX、Silverlight 2技术、支持LINQ的新语言特性、隐式类型局部变量和自...

    Visual C# 2005全程指南光盘

    Visual C# 2005编程语言的基本语法、声明和调用方法,结构化程序设计,枚举和结构的使用,数组和集合的使用,面向对象编程基础,Windows窗体以及应用程序编程控件,开发图形图像软件的基础知识,使用ADO.NET中的高级...

    中美 IT 培训 C# Asp.net 笔记3

    精通C#.Net、ASP.Net、ADO.Net、AJAX、WEB2.0、XML、JavaScript、SQL Server 2000、Web Service、WSE2.0、.Net Remoting、MultiThread Programming、Socket Programming、Windows Service、Data Structure、 ...

    Visual C#基于组件的开发

    本书首先介绍软件工程和利用UML设计组件的基本原理,然后向您展示了如何充分发挥Visual C#的快速开发能力创建功能广泛的组件,包括Web组件、Web服务和Windows服务组件、数据访问组件、企业级组件、多线程组件,以及...

    Windows GUI高级编程(C#编程篇) 英文版

    主要内容涉及使用或不使用Visual Studio.NET创建Windows应用程序、运用Windows Forms类和控件、高级的数据绑定、处理用户输入、使用GDI+绘图、打印和打印预览、创建自定义控件、NET中的多线程编程,以及部署Windows...

    Visual C# 2005全程指南 李建华 源代码

    Visual C# 2005编程语言的基本语法、声明和调用方法,结构化程序设计,枚举和结构的使用,数组和集合的使用,面向对象编程基础,Windows窗体以及应用程序编程控件,开发图形图像软件的基础知识,使用ADO.NET中的高级...

Global site tag (gtag.js) - Google Analytics