Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 计时器、进程和顺序访问以及多线程_C#_Multithreading_Asynchronous_Process_Timer - Fatal编程技术网

C# 计时器、进程和顺序访问以及多线程

C# 计时器、进程和顺序访问以及多线程,c#,multithreading,asynchronous,process,timer,C#,Multithreading,Asynchronous,Process,Timer,对于一个项目,我使用一个外部可执行文件,它只允许顺序访问,因为它在内部使用了一些资源 已经有两种方法使用该资源 现在我想通过可执行文件Ping该资源 看看是否有 但是计时器事件可能在其中一个方法运行时出现 我想让它跳过Ping 因此,我创建了一些私有的volatile bool正在运行,但它不起作用。 Ping没有看到正在运行的 获得顺序命令执行的好的轻量级方法是什么 这是需要的?volatile可能不是做这类事情的最佳方式;但在基于x86的系统上,您应该看到另一个线程的变化。所以,这对我来说意

对于一个项目,我使用一个外部可执行文件,它只允许顺序访问,因为它在内部使用了一些资源

已经有两种方法使用该资源

现在我想通过可执行文件Ping该资源 看看是否有

但是计时器事件可能在其中一个方法运行时出现 我想让它跳过Ping

因此,我创建了一些私有的volatile bool正在运行,但它不起作用。 Ping没有看到正在运行的

获得顺序命令执行的好的轻量级方法是什么
这是需要的?

volatile可能不是做这类事情的最佳方式;但在基于x86的系统上,您应该看到另一个线程的变化。所以,这对我来说意味着还有别的事情在发生;但是我不能仅仅根据你的描述来判断这是什么。我对代码做了一些重构,因为它是结构不太好的遗留代码。现在我计划为这些工作建立一个队列,这应该可以完成这项工作。我想,试图找出哪些工作目前不起作用,可能会给你一些重要的信息。但是,队列和计时器有点矛盾。e、 g.如果您需要在某个频率进行ping,则可以通过队列绕过此问题。感谢您的输入。我只想让用户看到资源是可用的。当另一个操作正在运行时,更新可用性并不重要。因此,我不需要特定的频率,在最后一个作业结束后的15秒内显示它就足够了。