Školenie
Študijný program
Create and run simple C# console applications (Get started with C#, Part 2) - Training
Use Visual Studio Code to develop C# console applications that implement arrays, foreach loops, and if statements.
Tento prehliadač už nie je podporovaný.
Inovujte na Microsoft Edge a využívajte najnovšie funkcie, aktualizácie zabezpečenia a technickú podporu.
You can write multithreaded applications in Microsoft Visual C# .NET or in Visual C#. This article describes how a simple Visual C# application can create and manage threads.
Original product version: Visual C#
Original KB number: 815804
The following list outlines the recommended hardware, software, network infrastructure, and service packs that you need:
This article assumes that you are familiar with the following topics:
This article refers to the .NET Framework Class Library namespace System.Threading
.
Start Visual Studio .NET, Visual Studio, or Visual C# Express Edition.
Create a new Visual C# Windows Application project named ThreadWinApp.
Add a Button control to the form. By default, the button is named Button1.
Add a ProgressBar component to the form. By default, the progress bar is named ProgressBar1.
Right-click the form, and then click View Code.
Add the following statement to the beginning of the file:
using System.Threading;
Add the following button1_Click
event handler for Button1:
private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show("This is the main thread");
}
Add the following variable to the Form1
class:
private Thread trd;
Add the following method to the Form1
class:
private void ThreadTask ()
{
int stp;
int newval;
Random rnd = new Random ();
while (true)
{
stp = this.progressBar1.Step * rnd.Next (-1, 2);
newval = this.progressBar1.Value + stp;
if (newval > this.progressBar1.Maximum)
newval = this.progressBar1.Maximum;
else if (newval < this.progressBar1.Minimum)
newval = this.progressBar1.Minimum;
this.progressBar1.Value = newval;
Thread.Sleep (100);
}
}
Poznámka
This is the code that underlies the thread. This code is an infinite loop that randomly increments or decrements the value in ProgressBar1, and then waits 100 milliseconds before it continues.
Add the following Form1_Load
event handler for Form1. This code creates a new thread, makes the thread a background thread, and then starts the thread.
private void Form1_Load(object sender, System.EventArgs e)
{
Thread trd = new Thread(new ThreadStart(this.ThreadTask));
trd.IsBackground = true;
trd.Start();
}
Build and run the application. Notice that the value in ProgressBar1 changes randomly. This is the new thread in operation.
To demonstrate that the main thread is independent of the thread that changes the value of ProgressBar1, click the button on the form. You receive a dialog box with the following error message:
This is the main thread
Wait for input. Notice that the value in ProgressBar1continues to change.
In more complex applications, make sure that you synchronize multiple threads when you access shared variables. For more information, see the lock statement and related topics in the Visual C# .NET online help documentation.
For more information, see Thread Class.
Školenie
Študijný program
Create and run simple C# console applications (Get started with C#, Part 2) - Training
Use Visual Studio Code to develop C# console applications that implement arrays, foreach loops, and if statements.
Dokumentácia
System.Threading.Thread class - .NET
Learn about the System.Threading.Thread class.
Creating threads and passing data at start time - .NET
Understand how to create threads and pass data at the start time of an operating system process in .NET.