Chciałem się na początek przywitać ze wszystkimi jako, że to mój pierwszy post tutaj.
Od kilku dni wgryzam się w temat wątków w C# i niby przykłady ładnie działają, jednak w kodzie jak poniżej testowy programik "zjada" ponad 50% czasu procesowa. Maszyna nie jest słaba 1GB RAM, Xeon 2.8
Temat jest tak obszerny, że nie potrafię sam sobie odpowiedzieć czy to normalne zachowanie czy robię jakiś błąd, proszę o podpowiedzi.
public partial class Form1 : Form
{
Thread watek;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
watek = new Thread(wykonaj_watek);
watek.Start();
button2.Enabled = true;
}
private void wykonaj_watek()
{
for (int i = 0; i < 10000; i++)
{
if (this.label1.InvokeRequired)
{
this.Invoke(new EventHandler(delegate { label1.Text = i.ToString(); }));
}
}
}
private void button2_Click(object sender, EventArgs e)
{
if (watek.IsAlive) watek.Abort();
button1.Enabled = true;
button2.Enabled = false;
}
}