在C#中,可以使用Task类实例化多个任务,并通过按钮点击来启动和关闭任务。下面是一个示例代码:

using System;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace MultiTaskExample
{
    public partial class MainForm : Form
    {
        private CancellationTokenSource cancellationTokenSource;
        private Task[] tasks;

        public MainForm()
        {
            InitializeComponent();

            // 初始化任务数组
            tasks = new Task[5];
        }

        private void StartButton_Click(object sender, EventArgs e)
        {
            // 创建一个CancellationTokenSource对象,用于取消任务
            cancellationTokenSource = new CancellationTokenSource();

            // 启动任务
            for (int i = 0; i < tasks.Length; i++)
            {
                int index = i;
                tasks[i] = Task.Run(() => DoWork(index, cancellationTokenSource.Token));
            }
        }

        private void StopButton_Click(object sender, EventArgs e)
        {
            // 取消任务
            cancellationTokenSource.Cancel();
        }

        private void DoWork(int index, CancellationToken cancellationToken)
        {
            while (!cancellationToken.IsCancellationRequested)
            {
                // 模拟任务执行
                Console.WriteLine($"Task {index + 1} is running...");
                Thread.Sleep(1000);
            }
            Console.WriteLine($"Task {index + 1} is stopped.");
        }
    }
}

在上述代码中,我们创建了一个MainForm窗体,其中包含两个按钮:StartButtonStopButton。点击StartButton按钮后,会实例化5个任务,然后通过Task.Run()方法来启动这些任务。点击StopButton按钮后,会调用cancellationTokenSource.Cancel()方法来取消任务。

请注意,这只是一个简单的示例代码,用于演示如何实例化多个任务并启动和关闭它们。在实际应用中,您可能需要根据具体需求进行适当的修改和扩展

C#实例化多个task任务 点击按钮后启动以及点击后关闭任务

原文地址: https://www.cveoy.top/t/topic/iMRP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录