C#有一个测试的线程,测试结束后,希望这个线程重复执行,代码怎么写,刚接触线程,

C#有一个测试的线程,测试结束后,希望这个线程重复执行,代码怎么写,刚接触线程,

又是这种问题啊。我要直接说Task不知道你能接受不

如果你能接受那就是

while(true)
{
       await task.run(你要做的事情)
}

如果你不能接受task,非要跟着某个园子折腾啥线程这个名词。我们也只能用名词给你解决了。
你不是不知道线程啥时候结束么,那好。我们解决你如何知道他结束了,你知道他啥时候结束了自然就知道啥重新调用他了。
想知道线程这名词啥时候结束
那就请写个“回调”名词,在前一个结束前回调
或者写个同步阻塞信号名词,线程执行的用阻塞信号名词给个同步量,等线程结束了,释放这个“同步阻塞信号”名词
或者弄个timer名词,不停用自旋这个名词去观察线程这个名词还在不在

不明白你想表达什么
什么叫测试结束后,都结束了进程不应该退出了吗
你想让线程重复执行,里面写个while不就一直执行了吗

可能你需要一个代码示例进行理解,可以使用while(true)循环来重复执行一个线程。
这个线程会不停地执行测试逻辑,每5秒重复一次。

public void RepeatingThread()
{
    Thread thread = new Thread(() =>
    {
        while (true)
        {
            // 线程体,执行测试逻辑
            Console.WriteLine("Running test..."); 

            // 测试结束,sleep一段时间后再执行
            Thread.Sleep(5000); 
        }
    });

    thread.Start();
}
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7526684
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C#编程基础第九课:数组、声明数组的方法、利用数组循环录入信息
  • 除此之外, 这篇博客: C#_工程实践笔记_用刚学的C#语言做一个随机抽题的小程序中的 C#_工程实践笔记_用刚学的C#语言做一个随机抽题的小程序 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在暑期用了将近两周的时间学了C#语言,也对面向对象的思想有了一定的了解,但不能光说不练,从我学习C语言的过程我就深刻地体会过实践的经验积累对于掌握一门计算机语言多么重要。

  • 您还可以看一下 徐新帅老师的c#从入门到建设网站详解教程课程中的 网站首页和后台以及项目框架简介小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    我可以通过使用Thread类来编写一个测试线程,并使用Thread.Sleep方法来模拟线程的执行。在测试完成后,我可以使用Thread.Abort方法来结束线程的执行。如果想让该线程重复执行,可以使用一个循环结构来不断启动新的线程。

    具体步骤如下:

    1. 创建一个Thread对象并定义一个方法作为线程的执行体,例如:
    Thread testThread = new Thread(new ThreadStart(TestMethod));
    

    其中TestMethod是定义的线程执行方法。

    1. 在TestMethod中添加需要测试的代码,例如:
    public static void TestMethod()
    {
      Console.WriteLine("Testing...");
      Thread.Sleep(5000); // 模拟测试的执行
      Console.WriteLine("Test finished.");
    }
    

    这段代码将输出Testing...,然后暂停5秒钟,最后输出Test finished.。

    1. 启动线程,让测试开始执行:
    testThread.Start();
    
    1. 使用Thread.Join方法来等待测试线程完成,例如:
    testThread.Join();
    

    这段代码将会等待testThread线程执行完成后才会继续执行主线程。

    1. 如果想让该线程重复执行,可以使用一个循环结构来不断启动新的线程,例如:
    while (true)
    {
      Thread testThread = new Thread(new ThreadStart(TestMethod));
      testThread.Start();
      testThread.Join();
    }
    

    这会在测试完成后,启动一个新的测试线程来继续执行测试。

    请注意,线程的重复执行可能会导致资源的浪费和性能问题,需要根据具体情况进行优化。

    完整代码如下:

    using System;
    using System.Threading;
    
    class Program
    {
      static void Main(string[] args)
      {
        while (true)
        {
          Thread testThread = new Thread(new ThreadStart(TestMethod));
    
          testThread.Start();
          testThread.Join();
        }
      }
    
      static void TestMethod()
      {
        Console.WriteLine("Testing...");
        Thread.Sleep(5000); // 模拟测试的执行
        Console.WriteLine("Test finished.");
      }
    }