Побудова програм потоків за допомогою стандартних бібліотек C#
Поток параметр конструктор графічний. Label1Add («Обрабтка потока с словом «+ word); Public TicTac (string _word, decimal _timeSleep, Form1 _form). Thread temp_th = new Thread (new ThreadStart (temp_tic.Ran)); Public delegate void AddMessageDelegate (string message); Private void button3_Click (object sender, EventArgs e). Private void button2_Click (object sender, EventArgs e). Public void… Читати ще >
Побудова програм потоків за допомогою стандартних бібліотек C# (реферат, курсова, диплом, контрольна)
«Побудова програм потоків за допомогою стандартних бібліотек C#»
Мета: освоїти елементи програмування мовою C#, а також засвоїти класи і методи графічної бібліотеки awt (swing).
Завдання до лабораторної роботи Створити клас потоку TicTac, який в методі run містить цикл виводу слова (першого параметра конструктора) і робить затримку на час, що задається другим параметром конструктора. Запустити 2−3 потоки з різними словами та затримками. Проаналізувати результати.
Код:
TicTac.cs.
using System;
using System.Collections.Generic;
using System. Linq;
using System. Text;
using System. Threading;
namespace LR3Thread.
{.
class TicTac.
{.
string word;
decimal timeSleep;
Form1 form;
public TicTac (string _word, decimal _timeSleep, Form1 _form).
{.
word = _word;
timeSleep = _timeSleep;
form = _form;
}.
public delegate void AddMessageDelegate (string message);
public void label1Add (string message).
{.
form.label1.Text = message;
}.
public void richTextBox1Add (string message).
{.
form.richTextBox1.AppendText (message+" «);
}.
public void Ran (){.
while (null == null).
{.
if (form.InvokeRequired).
{.
form.Invoke (new AddMessageDelegate (label1Add), new object[] { «Обрабтка потока с словом «+ word });
form.Invoke (new AddMessageDelegate (richTextBox1Add), new object[] { word });
}.
else {.
label1Add («Обрабтка потока с словом «+ word);
richTextBox1Add (word);
}.
Thread.Sleep ((int)timeSleep);
if (form.InvokeRequired).
{.
form.Invoke (new AddMessageDelegate (label1Add), new object[] { «Обрабтка потока с словом «+ word + «завершена» });
}.
else label1Add («Обрабтка потока с словом «+ word + «завершена»);
}.
}.
}.
}.
Form1.cs.
using System;
using System.Collections.Generic;
using System. ComponentModel;
using System. Data;
using System. Drawing;
using System. Linq;
using System. Text;
using System.Windows.Forms;
using System. Threading;
namespace LR3Thread.
{.
public partial class Form1: Form.
{.
public List Threads=new List ();
public Form1().
{.
InitializeComponent ();
}.
private void button3_Click (object sender, EventArgs e).
{.
TicTac temp_tic = new TicTac (textBox1.Text, numericUpDown1. Value, this);
Thread temp_th = new Thread (new ThreadStart (temp_tic.Ran));
Threads.Add (temp_th);
temp_th.Start ();
}.
private void button2_Click (object sender, EventArgs e).
{.
foreach (Thread item in Threads).
{.
item.Abort ();
}.
Threads.Clear ();
}.
private void Form1_FormClosing (object sender, FormClosingEventArgs e).
{.
button2_Click (sender, e);
}.
}.
}.
- 1. Для перевірки я вирішив ввести слово: «Слово1», тепер натискаємо «Добавить поток и запустить». (скр 1,2)
- 2. Для того щоб ідентифікувати свою лабораторну роботу наступним словом я вирішив записати своє прізвище та ім'я «Токаренко Дмитро» та встановив затримку в 200. Тепер натискаємо «Добавить поток и запустить».
- 1.2.
3. 4.
поток параметр конструктор графічний.
Висновок: На цій лабораторній роботі я освоїв елементи програмування мовою C#, а також ознайомився з класами та методами графічної бібліотеки awt (swing).