C# 互锁悬挂游戏?

C# 互锁悬挂游戏?,c#,multithreading,unity3d,interlocked,C#,Multithreading,Unity3d,Interlocked,只是尝试使用Interlocked.Increment(ref-threads)就挂起了我的游戏 public static int threads; ... Interlocked.Increment(ref threads); 同时使用System.Threads 我把它移到了主线程中,又移了出来,似乎在任何地方都无法让它工作。这就是造成这种情况的原因吗?互锁的.Net增量实际上并没有锁定任何东西(至少对于int,它肯定不会锁定任何东西);它只确保增量以原子方式进行 要么它实际上不是导

只是尝试使用
Interlocked.Increment(ref-threads)
就挂起了我的游戏

public static int threads;

...

Interlocked.Increment(ref threads);
同时使用
System.Threads


我把它移到了主线程中,又移了出来,似乎在任何地方都无法让它工作。这就是造成这种情况的原因吗?

互锁的.Net
增量实际上并没有锁定任何东西(至少对于
int
,它肯定不会锁定任何东西);它只确保增量以原子方式进行


要么它实际上不是导致您出现问题的更改,要么您已经将另一个
相互关联的
导入到您的命名空间中。

请参考您的游戏技术,您使用的是XNA或类似的东西吗?只有unity。使用UnityEngine;这是一个团结的项目。Unity是为游戏开发设计的引擎。哦。。。我知道团结是一种美德。我想这是一件完全不同的事情。是的,肯定是一件完全不同的事情。我会证明的。尝试搜索“threads”变量的用法时,您可能会发现一些可疑的代码。这是我仅有的互锁代码,我在使用它之前也尝试过锁定它。还有一个小问题:如果你锁了,你几乎肯定不需要联锁。