WaitHandleC#.net线程背后的基本概念是什么?它的用途是什么?什么时候用?什么是利用了WaitAll和了WaitAny里面的方法呢?
线程亲和性和进程关联性之间有什么区别?
如果我有两个线程并且我有一个双核心机器那么可以在两个核心上并行运行这两个线程吗?
如果我使用处理器关联掩码,那么我可以控制核心上进程的执行,但是当我必须在特定核心上运行线程时,我如何才能使这些线程具有核心特定性?
一个非常简单的例子将不胜感激.
任何人都可以在c#中提供一个简单的死锁示例代码吗?请告诉您在C#代码示例中找到死锁的最简单方法.(可能是在给定的示例代码中检测死锁的工具.)
注意:我有VS 2008
以下类(MyClass)的costructor 中" :base " 的含义是什么?请解释下面针对类MyClass给出的构造函数定义背后的概念.
public class MyClass: WorkerThread
{
public MyClass(object data): base(data)
{
// some code
}
}
public abstract class WorkerThread
{
private object ThreadData;
private Thread thisThread;
public WorkerThread(object data)
{
this.ThreadData = data;
}
public WorkerThread()
{
ThreadData = null;
}
}
Run Code Online (Sandbox Code Playgroud) Thread.BeginThreadAffinity()Thread类中的方法有什么用?如果您提供示例示例,我将了解您是否有帮助.
谢谢.
当我使用线程时,为什么以下代码的性能会降低?
**1.没有线程
int[] arr = new int[100000000]; //Array elements - [0][1][2][3]---[100000000-1]
addWithOutThreading(arr); // Time required for this operation - 1.16 sec
Run Code Online (Sandbox Code Playgroud)
addWithOutThreading的定义
public void addWithOutThreading(int[] arr)
{
UInt64 result = 0;
for (int i = 0; i < 100000000; i++)
{
result = result + Convert.ToUInt64(arr[i]);
}
Console.WriteLine("Addition = " + result.ToString());
}
Run Code Online (Sandbox Code Playgroud)
**2.有线程
int[] arr = new int[100000000];
int part = (100000000 / 4);
UInt64 res1 = 0, res2 = 0, res3 = 0, res4 = 0;
ThreadStart starter1 …Run Code Online (Sandbox Code Playgroud)