C#,IAsyncResult和线程池
我使用Action<object>.BeginInvoke()
方法,这是否使用线程池?
我有以下C#代码:
List<FileHash> hashList1 = hashList.Where((x, ind) => ind % 2 == 0).ToList();
List<FileHash> hashList2 = hashList.Where((x, ind) => ind % 2 == 1).ToList();
Action<object> oddWork = CalcHash;
Action<object> evenWork = CalcHash;
IAsyncResult evenHandle = evenWork.BeginInvoke(hashList1, null, null);
IAsyncResult oddHandle = oddWork.BeginInvoke(hashList2, null, null);
evenWork.EndInvoke(evenHandle);
oddWork.EndInvoke(oddHandle);
线程池是否在幕后使用? 或者系统是否创建正常的线程?
是的,这项工作将发生在线程池中。 MSDN中的这个页面详细介绍了BeginInvoke的工作方式:
http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx
链接地址: http://www.djcxy.com/p/52841.html