.NET 4.x Создать и запустить одновременно несколько потоков - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет) Необходимо создать несколько потоков и запустить их одновременно (без помощи циклов). Как это сделать? Помогите пожалуйста)

Решение задачи: «.NET 4.x Создать и запустить одновременно несколько потоков»

textual
Листинг программы
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;
using System.Threading.Tasks;
 
namespace Badfish
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            button1.Click += (sender, e) =>
                {
                    Task.Factory.StartNew(()=>
                        {
                            for (int i = 0; i < 100000; i++)
                            {
                                if (label1.InvokeRequired)
                                {
                                    label1.Invoke(new Action(() => label1.Text = i.ToString()));
                                }
                                Thread.Sleep(100);
                            }
                        });
                    Task.Factory.StartNew(() =>
                        {
                            for (int i = 0; i < 100000; i++)
                            {
                                if (label2.InvokeRequired)
                                {
                                    label2.Invoke(new Action(() => label2.Text = i.ToString()));
                                }
                                Thread.Sleep(100);
                            }
                        });
                    Task.Factory.StartNew(() =>
                        {
                            for (int i = 0; i < 100000; i++)
                            {
                                if (label3.InvokeRequired)
                                {
                                    label3.Invoke(new Action(() => label3.Text = i.ToString()));
                                }
                                Thread.Sleep(100);
                            }
                        });
                    Task.Factory.StartNew(() =>
                        {
                            for (int i = 0; i < 100000; i++)
                            {
                                if (label4.InvokeRequired)
                                {
                                    label4.Invoke(new Action(() => label4.Text = i.ToString()));
                                }
                                Thread.Sleep(100);
                            }
                        });
                    Task.Factory.StartNew(() =>
                        {
                            for (int i = 0; i < 100000; i++)
                            {
                                if (label5.InvokeRequired)
                                {
                                    label5.Invoke(new Action(() => label5.Text = i.ToString()));
                                }
                                Thread.Sleep(100);
                            }
                        });
                    Task.Factory.StartNew(() =>
                        {
                            for (int i = 0; i < 100000; i++)
                            {
                                if (label6.InvokeRequired)
                                {
                                    label6.Invoke(new Action(() => label6.Text = i.ToString()));
                                }
                                Thread.Sleep(100);
                            }
                        });
                };
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.769 из 5
Похожие ответы