小编use*_*973的帖子

C#线程:使用Monitor.Wait,Lock和PulseAll

我是CSharp和Threading的新手.

为了熟悉Monitor.Wait,Monitor.lock和Monitor.PulseAll,我构建了一个下面描述的场景.

"不同的球队正在为实践目的分享一个FootballGround.任何时候只有一个团队可以使用他们的练习场.一个团队可以使用地面练习30分钟.一旦时间达到25分钟,它应该发出信号5分钟后地面即将释放的线程.当地面潮湿时(enum有三个值自由,分配,潮湿)没有任何队员可以锁定地面,所有人都应该等待10分钟"

老实说,我不知道如何将描述转化为实际编码.根据我的理解,我设计了大纲.

namespace ThreadingSimulation
 {

  // A Random Activity can be picked up from this enum by a team

         public enum RandomGroundStatus
         {
             free,
             allotted,
             Wet          
         }

class FootBallGround
{

    public void Playing(object obj)
    {
      // Here the name of the team which is using the  ground will be printed
      // Once the time is reached to 25 minnutes the active thread acquired
      // the lock will signal  other threads    

    }

   public void GroundCleaningInProgress(object obj)
   {

      // Ground …
Run Code Online (Sandbox Code Playgroud)

c# multithreading

15
推荐指数
2
解决办法
1万
查看次数

.NET中线程中止和中断的区别

Thraed.Abort()和Thread.Interrupt()之间有什么区别?如何以线程安全方式调用它们.如果提供简单的示例,它将会有所帮助.

c# multithreading

14
推荐指数
2
解决办法
1万
查看次数

C#中的后台线程

我是C#的新手.我了解到通常所有线程都是前景,除非你使用IsBackGround = true 明确地将它指定为"后台"线程.

一些疑惑突然出现在我的脑海里.

1)将线程保留为后台线程有什么好处?

2)执行以下代码时:

    static void Main(string[] args)
    {
        Thread worker = new Thread(SayHello);
        worker.IsBackground = true;
        worker.Start();
        Console.WriteLine("Hello From Main");
    }

    static void SayHello()
    {
        Console.WriteLine("Hello World");
        Console.ReadKey(true);
    } 
Run Code Online (Sandbox Code Playgroud)

我需要使用worker.Join()来保持主线程等待程序立即终止.除了Join()我可以使用其他技术来保持主线程等待吗?

.net c# multithreading

6
推荐指数
2
解决办法
2万
查看次数

调试C#线程

当我在处理多线程时,如何调试以了解哪个线程导致异常行为?

我可以使用permonitor进行调试,还是有其他可用的工具或调试工具?

c# debugging multithreading

5
推荐指数
1
解决办法
2423
查看次数

C#:我不能在ThreadStart中使用匿名委托吗?

我不能拥有匿名委托声明,类似于以下内容:

    ThreadStart starter = delegate() { go(); };
            ...

    static void go()
    {
      Console.WriteLine("Nice Work");
    }

   // (or)

   ThreadStart starter=delegate() { Console.WriteLine("Hello");}
Run Code Online (Sandbox Code Playgroud)

c# multithreading

5
推荐指数
2
解决办法
5997
查看次数

StopWatch(System.Diagnostics)和System.Timers

我是处理线程的新手.

System.Diagnostics和System.Timers在线程上下文中的作用是什么?两者是相互替代的还是他们为执行一些独特的任务而实施的?

c# multithreading operations timer

2
推荐指数
1
解决办法
1868
查看次数

处理线程中的参数

我只是一个初学者."ParameterizedThreadStart"接受单个对象作为参数.

有没有其他代表签名允许我

(1)在线程上传递params(变量参数)?

(2)支持列表等通用参数?

c# multithreading delegates

1
推荐指数
1
解决办法
97
查看次数

标签 统计

c# ×7

multithreading ×7

.net ×1

debugging ×1

delegates ×1

operations ×1

timer ×1