Thread Pooling

https://msdn.microsoft.com/en-us/library/windows/desktop/ms686756(v=vs.85).aspx

Thread Pools

https://msdn.microsoft.com/en-us/library/windows/desktop/ms686760%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

https://github.com/dotnet/coreclr/blob/master/Documentation/botr/threading.md

https://blogs.msdn.microsoft.com/ericeil/2009/04/23/clr-4-0-threadpool-improvements-part-1/

http://joeduffyblog.com/2008/09/17/building-a-custom-thread-pool-series-part-3-incorporating-work-stealing-queues/

http://www.cnblogs.com/Refresh-air/p/3312538.html

https://msdn.microsoft.com/en-us/magazine/ff960958.aspx?f=255&MSPPError=-2147217396

https://msdn.microsoft.com/en-us/magazine/mt149362?author=erika+fuentes

https://blogs.msdn.microsoft.com/msdnmagazine/2008/11/21/thread-management-and-other-clr-tidbits/

Programming the Thread Pool in the .NET Framework

https://msdn.microsoft.com/en-us/library/ms973903.aspx

那些年,我们一起追寻的异步编程[系列]

浅谈线程池(下):相关试验及注意事项

Optimize managed code for multi-core machines. MSDN Magazine, October 2007.

http://msdn.microsoft.com/en-us/magazine/ cc163340.aspx

Parallel Programming with Microsoft .NET

https://msdn.microsoft.com/en-us/library/ff963553.aspx

Optimize Managed Code For Multi-Core Machines

Improve Scalability With New Thread Pool APIs

http://www.albahari.com/threading/#_Thread_Pooling

https://blogs.msdn.microsoft.com/ericeil/2008/06/20/windows-io-threads-vs-managed-io-threads/

http://stackoverflow.com/questions/2099947/simple-description-of-worker-and-i-o-threads-in-net

https://blogs.msdn.microsoft.com/junfeng/2008/11/24/threadpool-unsafequeuenativeoverlapped/

https://blogs.msdn.microsoft.com/junfeng/2008/12/01/threadpool-bindhandle/

BindIoCompletionCallback function,

On completion of an I/O request involving this file, a non-I/O worker thread will execute the specified callback function.

https://msdn.microsoft.com/en-us/library/windows/desktop/aa363484(v=vs.85).aspx

http://stackoverflow.com/questions/137400/whats-the-difference-between-a-worker-thread-and-an-i-o-thread

I/O Completion Ports

https://msdn.microsoft.com/en-us/library/aa365198%28VS.85%29.aspx?f=255&MSPPError=-2147217396

https://blogs.msdn.microsoft.com/junfeng/2008/07/21/managed-threadpool-vs-win32-threadpool-pre-vista/

Concurrency - Throttling Concurrency in the CLR 4.0 ThreadPool

https://msdn.microsoft.com/en-us/magazine/ff960958.aspx

http://www.danielmoth.com/Blog/New-And-Improved-CLR-4-Thread-Pool-Engine.aspx

UnsafeQueueUserWorkItem and what exactly does “does not propagate the calling stack” mean?

https://blogs.msdn.microsoft.com/cbrumme/2003/05/06/asynchronous-operations-pinning/

win32threadpool

DWORD __stdcall ThreadpoolMgr::WorkerThreadStart(LPVOID lpArgs)

500 Id: 25bf4.1b858 Suspend: 0 Teb: 00007ff6`3f28a000 Unfrozen
Child-SP RetAddr Call Site
00000020`a84cf558 00007fff`d4ea1118 ntdll!NtWaitForSingleObject+0xa
00000020`a84cf560 00007fff`ce50ce66 KERNELBASE!WaitForSingleObjectEx+0x94
00000020`a84cf600 00007fff`ce50d247 clr!CLRSemaphore::Wait+0x8a
00000020`a84cf6c0 00007fff`ce50d330 clr!ThreadpoolMgr::UnfairSemaphore::Wait+0x109
00000020`a84cf700 00007fff`ce5de8b6 clr!ThreadpoolMgr::WorkerThreadStart+0x1b9
00000020`a84cf7a0 00007fff`d60613d2 clr!Thread::intermediateThreadProc+0x7d
00000020`a84cfb60 00007fff`d7be5454 kernel32!BaseThreadInitThunk+0x22
00000020`a84cfb90 00000000`00000000 ntdll!RtlUserThreadStart+0x34

501 Id: 25bf4.368 Suspend: 0 Teb: 00007ff6`3f288000 Unfrozen
Child-SP RetAddr Call Site
00000020`a854f448 00007fff`d4ea1118 ntdll!NtWaitForSingleObject+0xa
00000020`a854f450 00007fff`ce50ce66 KERNELBASE!WaitForSingleObjectEx+0x94
00000020`a854f4f0 00007fff`ce50d247 clr!CLRSemaphore::Wait+0x8a
00000020`a854f5b0 00007fff`ce50d330 clr!ThreadpoolMgr::UnfairSemaphore::Wait+0x109
00000020`a854f5f0 00007fff`ce5de8b6 clr!ThreadpoolMgr::WorkerThreadStart+0x1b9
00000020`a854f690 00007fff`d60613d2 clr!Thread::intermediateThreadProc+0x7d
00000020`a854fcd0 00007fff`d7be5454 kernel32!BaseThreadInitThunk+0x22
00000020`a854fd00 00000000`00000000 ntdll!RtlUserThreadStart+0x34

502 Id: 25bf4.3d690 Suspend: 0 Teb: 00007ff6`3f286000 Unfrozen
Child-SP RetAddr Call Site
00000020`a85cfa98 00007fff`d4ea1118 ntdll!NtWaitForSingleObject+0xa
00000020`a85cfaa0 00007fff`ce50ce66 KERNELBASE!WaitForSingleObjectEx+0x94
00000020`a85cfb40 00007fff`ce50d247 clr!CLRSemaphore::Wait+0x8a
00000020`a85cfc00 00007fff`ce50d330 clr!ThreadpoolMgr::UnfairSemaphore::Wait+0x109
00000020`a85cfc40 00007fff`ce5de8b6 clr!ThreadpoolMgr::WorkerThreadStart+0x1b9
00000020`a85cfce0 00007fff`d60613d2 clr!Thread::intermediateThreadProc+0x7d
00000020`a85cff20 00007fff`d7be5454 kernel32!BaseThreadInitThunk+0x22
00000020`a85cff50 00000000`00000000 ntdll!RtlUserThreadStart+0x34

503 Id: 25bf4.406c Suspend: 0 Teb: 00007ff6`3f284000 Unfrozen
Child-SP RetAddr Call Site
00000020`a864fc58 00007fff`d4ea1118 ntdll!NtWaitForSingleObject+0xa
00000020`a864fc60 00007fff`ce50ce66 KERNELBASE!WaitForSingleObjectEx+0x94
00000020`a864fd00 00007fff`ce50d247 clr!CLRSemaphore::Wait+0x8a
00000020`a864fdc0 00007fff`ce50d330 clr!ThreadpoolMgr::UnfairSemaphore::Wait+0x109
00000020`a864fe00 00007fff`ce5de8b6 clr!ThreadpoolMgr::WorkerThreadStart+0x1b9
00000020`a864fea0 00007fff`d60613d2 clr!Thread::intermediateThreadProc+0x7d
00000020`a864fee0 00007fff`d7be5454 kernel32!BaseThreadInitThunk+0x22
00000020`a864ff10 00000000`00000000 ntdll!RtlUserThreadStart+0x34

================

OS Thread Id: 0x8e54 (4)
Current frame: (MethodDesc 000007fe91923930 +0x48 ConsoleApplication5.Program.ThreadProc(System.Object))
Child-SP         RetAddr          Caller, Callee
000000001bdbeda0 000007fee76fd0b5 (MethodDesc 000007fee72807d0 +0x285 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001bdbee00 000007fef12709d1 clr!ManagedPerAppDomainTPCount::SetAppDomainRequestsActive+0x29, calling clr!ThreadpoolMgr::EnsureGateThreadRunning
000000001bdbef00 000007fee76fce19 (MethodDesc 000007fee72807c0 +0x9 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)), calling (MethodDesc 000007fee72807d0 +0 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001bdbef30 000007fee764270f (MethodDesc 000007fee7272008 +0x6f System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()), calling (MethodDesc 000007fee72807c0 +0 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001bdbef80 000007fee763764a (MethodDesc 000007fee7271d60 +0x1ea System.Threading.ThreadPoolWorkQueue.Dispatch()), calling 000007fe919d0060
000000001bdbf040 000007fef1119e03 clr!CallDescrWorkerInternal+0x83
000000001bdbf080 000007fef1119e7e clr!CallDescrWorkerWithHandler+0x4a, calling clr!CallDescrWorkerInternal
000000001bdbf0a0 000007fef1111feb clr!HardCodedMetaSig::GetBinarySig+0x58, calling clr!_security_check_cookie
000000001bdbf0c0 000007fef1119ef0 clr!MethodDescCallSite::CallTargetWorker+0x2e2, calling clr!CallDescrWorkerWithHandler
000000001bdbf100 000007fef10c6472 clr!ArgIteratorTemplate<ArgIteratorBase>::ComputeReturnFlags+0x4a, calling clr!SigPointer::PeekElemTypeClosed
000000001bdbf130 000000007714dba8 ntdll!RtlAllocateHeap+0x178, calling ntdll!TpAlpcRegisterCompletionList+0xa720
000000001bdbf150 000007fef111b34a clr!MethodDescCallSite::CallTargetWorker+0xa1, calling clr!_chkstk
000000001bdbf1a0 000007fef111b281 clr!ArgIteratorTemplate<ArgIteratorBase>::ForceSigWalk+0x139, calling clr!ArgIteratorBase::IsVarArg
000000001bdbf270 000007fef1270bf9 clr!QueueUserWorkItemManagedCallback+0x2a, calling clr!MethodDescCallSite::CallTargetWorker
000000001bdbf350 000007fef112458c clr!Frame::Pop+0x50
000000001bdbf390 000007fef112451a clr!COMCustomAttribute::PopSecurityContextFrame+0x192, calling clr!Frame::Pop+0x24
000000001bdbf420 000007fef10b31ec clr!ClrFlsIncrementValue+0x18, calling clr!ClrFlsGetBlock
000000001bdbf430 000007fef1124413 clr!DebuggerU2MCatchHandlerFrame::DebuggerU2MCatchHandlerFrame+0x18, calling clr!Frame::Push
000000001bdbf460 000007fef11243f3 clr!FrameWithCookie<DebuggerU2MCatchHandlerFrame>::FrameWithCookie<DebuggerU2MCatchHandlerFrame>+0x1c, calling clr!DebuggerU2MCatchHandlerFrame::DebuggerU2MCatchHandlerFrame
000000001bdbf480 0000000077152631 ntdll!LdrGetProcedureAddress+0x11, calling ntdll!LdrGetProcedureAddressEx
000000001bdbf490 000007fef1124491 clr!COMCustomAttribute::PopSecurityContextFrame+0xbd, calling clr!COMCustomAttribute::PopSecurityContextFrame+0x12c
000000001bdbf4a0 000007fef1123ec1 clr!CORProfilerTrackThreads+0x9, calling clr!CORProfilerPresent
000000001bdbf4d0 000007fef126fcf6 clr!Thread::HasStarted+0x16e, calling clr!CORProfilerTrackThreads
000000001bdbf520 000007fef11245ef clr!Thread::SetExposedContext+0x93, calling clr!COMCustomAttribute::PopSecurityContextFrame+0x48
000000001bdbf580 000007fef1270b60 clr!ManagedPerAppDomainTPCount::DispatchWorkItem+0xb4, calling clr!Thread::SetExposedContext+0x64
000000001bdbf680 000007fefe860c82 ole32!CoUninitialize+0xbe [d:\w7rtm\com\ole32\com\class\compobj.cxx:2657], calling ole32!NotifyInitializeSpies [d:\w7rtm\com\ole32\com\class\compobj.cxx:1717]
000000001bdbf6b0 000007fef126fec9 clr!Thread::SetApartment+0xf9, calling clr!Thread::GetApartment
000000001bdbf6d0 000007fef1299297 clr!PerAppDomainTPCountList::GetAppDomainIndexForThreadpoolDispatch+0x6f
000000001bdbf710 000007fef129920b clr!ThreadpoolMgr::ExecuteWorkRequest+0x4c
000000001bdbf740 000007fef129910a clr!ThreadpoolMgr::WorkerThreadStart+0xf6, calling clr!ThreadpoolMgr::ExecuteWorkRequest
000000001bdbf770 0000000076f01a0a kernel32!HeapFree+0xa, calling ntdll!RtlFreeHeap
000000001bdbf7a0 000007fef10b435d clr!EEHeapFreeInProcessHeap+0x39, calling kernel32!HeapFree
000000001bdbf800 000007fef11833de clr!Thread::intermediateThreadProc+0x7d
000000001bdbf900 000007fef11833c7 clr!Thread::intermediateThreadProc+0x66, calling clr!_chkstk
000000001bdbf940 0000000076ef59bd kernel32!BaseThreadInitThunk+0xd
000000001bdbf970 000000007712a2e1 ntdll!RtlUserThreadStart+0x21
OS Thread Id: 0x7328 (5)
Current frame: ntdll!NtDelayExecution+0xa
Child-SP         RetAddr          Caller, Callee
000000001c1fec70 000007fefd051203 KERNELBASE!SleepEx+0xb3, calling ntdll!NtDelayExecution
000000001c1fece0 000007fefd05394b KERNELBASE!SetThreadLocale+0xab, calling ntdll!RtlActivateActivationContextUnsafeFast
000000001c1fed10 000007fef12b69f8 clr!CExecutionEngine::ClrSleepEx+0x29, calling kernel32!SleepEx
000000001c1fed40 000007fef12b6b81 clr!Thread::UserSleep+0x76, calling clr!ClrSleepEx
000000001c1fed60 000007fef10b49d4 clr!HelperMethodFrame::Push+0x19, calling clr!GetThread
000000001c1fed80 000007fee763bd33 (MethodDesc 000007fee7271990 +0x53 System.IO.__ConsoleStream.Write(Byte[], Int32, Int32)), calling (MethodDesc 000007fee7396dd8 +0 System.IO.__ConsoleStream.WriteFileNative(Microsoft.Win32.SafeHandles.SafeFileHandle, Byte[], Int32, Int32, Boolean))
000000001c1fed90 000007fef12b6aa8 clr!ThreadNative::Sleep+0x98, calling clr!Thread::UserSleep
000000001c1fedd0 000007fee763ac59 (MethodDesc 000007fee727e7d8 +0xe9 System.IO.StreamWriter.Flush(Boolean, Boolean))
000000001c1fedf0 000007fee763bc23 (MethodDesc 000007fee7396d98 +0x23 System.IO.__ConsoleStream.Flush())
000000001c1fee30 000007fee763bacc (MethodDesc 000007fee71a1c58 +0xcc System.IO.TextWriter.WriteLine(System.String))
000000001c1fee90 000007fee763bccb (MethodDesc 000007fee7396f48 +0x4b System.IO.TextWriter+SyncTextWriter.WriteLine(System.String)), calling clr!JIT_MonExitWorker_InlineGetThread
000000001c1feea0 000007fee763be3e (MethodDesc 000007fee71a12d8 +0x2e System.Console.WriteLine(System.String)), calling (MethodDesc 000007fee71a14a8 +0 System.Console.InitializeStdOutError(Boolean))
000000001c1feec8 000007fef12b6a6b clr!ThreadNative::Sleep+0x5b, calling clr!LazyMachStateCaptureState
000000001c1feee0 000007fe91a4026c (MethodDesc 000007fe91923940 +0x3c ConsoleApplication5.Program.ThreadProc2(System.Object)), calling (MethodDesc 000007fee719f428 +0 System.Threading.Thread.Sleep(Int32))
000000001c1fef10 000007fee76fd0b5 (MethodDesc 000007fee72807d0 +0x285 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001c1fef70 000007fef12709d1 clr!ManagedPerAppDomainTPCount::SetAppDomainRequestsActive+0x29, calling clr!ThreadpoolMgr::EnsureGateThreadRunning
000000001c1ff070 000007fee76fce19 (MethodDesc 000007fee72807c0 +0x9 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)), calling (MethodDesc 000007fee72807d0 +0 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001c1ff0a0 000007fee764270f (MethodDesc 000007fee7272008 +0x6f System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()), calling (MethodDesc 000007fee72807c0 +0 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001c1ff0f0 000007fee763764a (MethodDesc 000007fee7271d60 +0x1ea System.Threading.ThreadPoolWorkQueue.Dispatch()), calling 000007fe919d0060
000000001c1ff1b0 000007fef1119e03 clr!CallDescrWorkerInternal+0x83
000000001c1ff1f0 000007fef1119e7e clr!CallDescrWorkerWithHandler+0x4a, calling clr!CallDescrWorkerInternal
000000001c1ff210 000007fef1111feb clr!HardCodedMetaSig::GetBinarySig+0x58, calling clr!_security_check_cookie
000000001c1ff230 000007fef1119ef0 clr!MethodDescCallSite::CallTargetWorker+0x2e2, calling clr!CallDescrWorkerWithHandler
000000001c1ff270 000007fef10c6472 clr!ArgIteratorTemplate<ArgIteratorBase>::ComputeReturnFlags+0x4a, calling clr!SigPointer::PeekElemTypeClosed
000000001c1ff2c0 000007fef111b34a clr!MethodDescCallSite::CallTargetWorker+0xa1, calling clr!_chkstk
000000001c1ff310 000007fef111b281 clr!ArgIteratorTemplate<ArgIteratorBase>::ForceSigWalk+0x139, calling clr!ArgIteratorBase::IsVarArg
000000001c1ff3e0 000007fef1270bf9 clr!QueueUserWorkItemManagedCallback+0x2a, calling clr!MethodDescCallSite::CallTargetWorker
000000001c1ff400 000007fef1a5119a mscoreei!DllMainCRTStartup+0xce, calling mscoreei!DllMain
000000001c1ff4b0 000007fef1182676 clr!REGUTIL::GetConfigInteger+0x62, calling clr!REGUTIL::RegCacheValueNameSeenPerhaps
000000001c1ff4c0 000007fef112458c clr!Frame::Pop+0x50
000000001c1ff500 000007fef112451a clr!COMCustomAttribute::PopSecurityContextFrame+0x192, calling clr!Frame::Pop+0x24
000000001c1ff510 000007fefd06aa36 KERNELBASE!SetThreadStackGuarantee+0x46, calling KERNELBASE!GetSystemInfo
000000001c1ff530 000007fef10b31ec clr!ClrFlsIncrementValue+0x18, calling clr!ClrFlsGetBlock
000000001c1ff590 000007fef10b31ec clr!ClrFlsIncrementValue+0x18, calling clr!ClrFlsGetBlock
000000001c1ff5a0 000007fef1124413 clr!DebuggerU2MCatchHandlerFrame::DebuggerU2MCatchHandlerFrame+0x18, calling clr!Frame::Push
000000001c1ff5c0 000007fef10c3a6c clr!ThreadStore::CheckForEEShutdown+0x1e, calling clr!ThreadStore::OtherThreadsComplete
000000001c1ff5d0 000007fef11243f3 clr!FrameWithCookie<DebuggerU2MCatchHandlerFrame>::FrameWithCookie<DebuggerU2MCatchHandlerFrame>+0x1c, calling clr!DebuggerU2MCatchHandlerFrame::DebuggerU2MCatchHandlerFrame
000000001c1ff5f0 000007fef126fdb2 clr!ThreadStore::TransferStartedThread+0x83, calling clr!ThreadStore::CheckForEEShutdown
000000001c1ff600 000007fef1124491 clr!COMCustomAttribute::PopSecurityContextFrame+0xbd, calling clr!COMCustomAttribute::PopSecurityContextFrame+0x12c
000000001c1ff610 000007fef1123ec1 clr!CORProfilerTrackThreads+0x9, calling clr!CORProfilerPresent
000000001c1ff640 000007fef126fcf6 clr!Thread::HasStarted+0x16e, calling clr!CORProfilerTrackThreads
000000001c1ff690 000007fef11245ef clr!Thread::SetExposedContext+0x93, calling clr!COMCustomAttribute::PopSecurityContextFrame+0x48
000000001c1ff6f0 000007fef1270b60 clr!ManagedPerAppDomainTPCount::DispatchWorkItem+0xb4, calling clr!Thread::SetExposedContext+0x64
000000001c1ff700 000007fef1149f94 clr!SafeReleasePreemp+0x74
000000001c1ff740 000007fefe8622bd ole32!IsRunningInRPCSS+0x41 [d:\w7rtm\com\ole32\com\class\compobj.cxx:1959], calling ole32!__security_check_cookie [d:\win7sp1_ldr\minkernel\crts\crtw32\misc\amd64\amdsecgs.asm:72]
000000001c1ff780 000007fefe862528 ole32!RegisterThreadCleanupCallback+0x28 [d:\w7rtm\com\ole32\com\class\compobj.cxx:1855], calling KERNELBASE!FlsSetValue
000000001c1ff7f0 000007fefe860c82 ole32!CoUninitialize+0xbe [d:\w7rtm\com\ole32\com\class\compobj.cxx:2657], calling ole32!NotifyInitializeSpies [d:\w7rtm\com\ole32\com\class\compobj.cxx:1717]
000000001c1ff820 000007fef126fec9 clr!Thread::SetApartment+0xf9, calling clr!Thread::GetApartment
000000001c1ff840 000007fef1299297 clr!PerAppDomainTPCountList::GetAppDomainIndexForThreadpoolDispatch+0x6f
000000001c1ff880 000007fef129920b clr!ThreadpoolMgr::ExecuteWorkRequest+0x4c
000000001c1ff8b0 000007fef129910a clr!ThreadpoolMgr::WorkerThreadStart+0xf6, calling clr!ThreadpoolMgr::ExecuteWorkRequest
000000001c1ff8e0 0000000076f01a0a kernel32!HeapFree+0xa, calling ntdll!RtlFreeHeap
000000001c1ff910 000007fef10b435d clr!EEHeapFreeInProcessHeap+0x39, calling kernel32!HeapFree
000000001c1ff970 000007fef11833de clr!Thread::intermediateThreadProc+0x7d
000000001c1ffaf0 000007fef11833c7 clr!Thread::intermediateThreadProc+0x66, calling clr!_chkstk
000000001c1ffb30 0000000076ef59bd kernel32!BaseThreadInitThunk+0xd
000000001c1ffb60 000000007712a2e1 ntdll!RtlUserThreadStart+0x21

OS Thread Id: 0x3608 (4)
Current frame: (MethodDesc 000007fe91923920 +0x49 ConsoleApplication5.Program.DoWork())
Child-SP         RetAddr          Caller, Callee
000000001bfef060 000007feda63d0b5 (MethodDesc 000007feda1c07d0 +0x285 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001bfef1c0 000007feda63ce19 (MethodDesc 000007feda1c07c0 +0x9 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)), calling (MethodDesc 000007feda1c07d0 +0 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001bfef1f0 000007feda63cdd7 (MethodDesc 000007feda1c07b0 +0x57 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)), calling (MethodDesc 000007feda1c07c0 +0 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean))
000000001bfef240 000007feda5b0301 (MethodDesc 000007feda1cc3f0 +0x51 System.Threading.ThreadHelper.ThreadStart()), calling (MethodDesc 000007feda1c07b0 +0 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object))
000000001bfef290 000007fef1119e03 clr!CallDescrWorkerInternal+0x83
000000001bfef2d0 000007fef1119e7e clr!CallDescrWorkerWithHandler+0x4a, calling clr!CallDescrWorkerInternal
000000001bfef310 000007fef1119ef0 clr!MethodDescCallSite::CallTargetWorker+0x2e2, calling clr!CallDescrWorkerWithHandler
000000001bfef350 000007fef10c6472 clr!ArgIteratorTemplate<ArgIteratorBase>::ComputeReturnFlags+0x4a, calling clr!SigPointer::PeekElemTypeClosed
000000001bfef3a0 000007fef111b34a clr!MethodDescCallSite::CallTargetWorker+0xa1, calling clr!_chkstk
000000001bfef3f0 000007fef111b281 clr!ArgIteratorTemplate<ArgIteratorBase>::ForceSigWalk+0x139, calling clr!ArgIteratorBase::IsVarArg
000000001bfef4c0 000007fef123594d clr!ThreadNative::KickOffThread_Worker+0x105, calling clr!MethodDescCallSite::CallTargetWorker
000000001bfef520 000000007712a3e2 ntdll!RtlUserThreadStart+0x122, calling ntdll!RtlLeaveCriticalSection
000000001bfef590 000000007714dba8 ntdll!RtlAllocateHeap+0x178, calling ntdll!TpAlpcRegisterCompletionList+0xa720
000000001bfef650 000007fefe862645 ole32!InitThreadCtx+0x41 [d:\w7rtm\com\ole32\com\class\compobj.cxx:2288]
000000001bfef670 000007fefe8629bf ole32!TLSAddToMap+0x9f [d:\w7rtm\com\ole32\com\class\tls.cxx:166], calling ntdll!RtlLeaveCriticalSection
000000001bfef680 000007fefe8625b5 ole32!wCoInitializeEx+0x79 [d:\w7rtm\com\ole32\com\class\compobj.cxx:2467], calling ole32!InitThreadCtx [d:\w7rtm\com\ole32\com\class\compobj.cxx:2235]
000000001bfef6a0 000007fefe862528 ole32!RegisterThreadCleanupCallback+0x28 [d:\w7rtm\com\ole32\com\class\compobj.cxx:1855], calling KERNELBASE!FlsSetValue
000000001bfef6d0 000007fef11245bb clr!ManagedThreadCallState::IsAppDomainEqual+0x1f, calling clr!ADID::operator==
000000001bfef700 000007fef112458c clr!Frame::Pop+0x50
000000001bfef730 000007fef10b378a clr!EEHeapAllocInProcessHeap+0x46, calling ntdll!RtlAllocateHeap
000000001bfef740 000007fef112451a clr!COMCustomAttribute::PopSecurityContextFrame+0x192, calling clr!Frame::Pop+0x24
000000001bfef760 000007fef126f57a clr!Thread::AllocateIOCompletionContext+0x13, calling clr!operator new
000000001bfef770 000007fef10b31ec clr!ClrFlsIncrementValue+0x18, calling clr!ClrFlsGetBlock
000000001bfef7d0 000007fef126fdb2 clr!ThreadStore::TransferStartedThread+0x83, calling clr!ThreadStore::CheckForEEShutdown
000000001bfef7e0 000007fef1124413 clr!DebuggerU2MCatchHandlerFrame::DebuggerU2MCatchHandlerFrame+0x18, calling clr!Frame::Push
000000001bfef810 000007fef11243f3 clr!FrameWithCookie<DebuggerU2MCatchHandlerFrame>::FrameWithCookie<DebuggerU2MCatchHandlerFrame>+0x1c, calling clr!DebuggerU2MCatchHandlerFrame::DebuggerU2MCatchHandlerFrame
000000001bfef820 000007fef126fcf6 clr!Thread::HasStarted+0x16e, calling clr!CORProfilerTrackThreads
000000001bfef840 000007fef1124491 clr!COMCustomAttribute::PopSecurityContextFrame+0xbd, calling clr!COMCustomAttribute::PopSecurityContextFrame+0x12c
000000001bfef8d0 000007fef11245ef clr!Thread::SetExposedContext+0x93, calling clr!COMCustomAttribute::PopSecurityContextFrame+0x48
000000001bfef930 000007fef1235831 clr!ThreadNative::KickOffThread+0xbd, calling clr!Thread::SetExposedContext+0x64
000000001bfef970 0000000076f01a0a kernel32!HeapFree+0xa, calling ntdll!RtlFreeHeap
000000001bfef9d0 000007fef10b4384 clr!operator delete+0x14, calling clr!EEHeapFreeInProcessHeap
000000001bfefa00 000007fef11833de clr!Thread::intermediateThreadProc+0x7d
000000001bfefb00 000007fef11833c7 clr!Thread::intermediateThreadProc+0x66, calling clr!_chkstk
000000001bfefb40 0000000076ef59bd kernel32!BaseThreadInitThunk+0xd
000000001bfefb70 000000007712a2e1 ntdll!RtlUserThreadStart+0x21

CLR thread pool的更多相关文章

  1. The CLR's Thread Pool

    We were unable to locate this content in zh-cn. Here is the same content in en-us. .NET The CLR's Th ...

  2. Reporting Service 告警"w WARN: Thread pool pressure. Using current thread for a work item"

    如果Reporting Service偶尔出现不可访问或访问出错情况,这种情况一般没有做监控的话,很难捕捉到.出现这种问题,最好检查Reporting Service的日志文件. 今天早上就遇到这样一 ...

  3. MySQL thread pool【转】

    本文来自:http://blog.chinaunix.net/uid-26896862-id-3993773.html 刚刚经历了淘宝的双11,真实感受到了紧张的氛围.尽管DB淡定的度过,但是历程中的 ...

  4. worksteal thread pool

    worksteal的场景 对于一个线程池,每个线程有一个队列,想象这种场景,有的线程队列中有大量的比较耗时的任务堆积,而有的线程队列却是空的,现象就是有的线程处于饥饿状态,而有的线程处于消化不良的状态 ...

  5. Improve Scalability With New Thread Pool APIs

    Pooled Threads Improve Scalability With New Thread Pool APIs Robert Saccone Portions of this article ...

  6. MySQL Thread Pool: Problem Definition

    A new thread pool plugin is now a part of the MySQL Enterprise Edition.In this blog we will cover th ...

  7. Thread Pool Engine, and Work-Stealing scheduling algorithm

    http://pages.videotron.com/aminer/threadpool.htm http://pages.videotron.com/aminer/zip/threadpool.zi ...

  8. DUBBO Thread pool is EXHAUSTED!

    一.问题 在测试环境遇到的异常信息,如下: 16-10-17 00:00:00.033 [New I/O server worker #1-6] WARN  com.alibaba.dubbo.com ...

  9. C++笔记--thread pool【转】

    版权声明:转载著名出处 https://blog.csdn.net/gcola007/article/details/78750220 背景 刚粗略看完一遍c++ primer第五版,一直在找一些c+ ...

随机推荐

  1. 同是url参数传进来的值,String类型就用getAttribute获取不到,只能用getParameter获取,而int就两个都可以这是为什么?

    这是因为int的属性是id,这是在被放到modeldriver中的user所具有的属性,传递过来的参数如果和user的属性重名,struts2的有类似beanutil之类的工具会自动封装参数,这时候用 ...

  2. “java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp”

    最近在项目中使用hibernate查询时,总报错“java.sql.SQLException: Value '0000-00-00' can not be represented as java.sq ...

  3. 2016-1-6第一个完整APP 私人通讯录的实现 4:编辑联系人

    一:建立编辑联系人的controller,并使其拥有模型contact,且有协议.代码如下 #import <UIKit/UIKit.h> #import "contact.h& ...

  4. RabbitMQ、Redis

    进程QUEUE,可以是父进程与子进程间进行交互,也可以是同属于一个父进程的子进程间的交互:如果要实现进程A与进程B之间的通信,就需要借助一个中间进程了,我们习惯称为消息队列. QQ无法直接与WORD通 ...

  5. cookie 内容的获取

    NSMutableArray *cookiesStoreAll = [[NSMutableArray alloc]init]; NSUInteger totalNumberOfCookies;     ...

  6. River Crossing 简单的动态规划 .

    第一行 t  表示有几组测试数据 . 每组测试数据的 第一行是 n, m   .     然后 下面有n行数据  . 题意:有1个人和N只羊要过河.一个人单独过河花费的时间是M,每次带一只羊过河花费时 ...

  7. vijos 1907 飞扬的小鸟

    我心里毫无波动甚至还有点想笑. WTF WTF WTF WTF WTF WTF WTF GTMD调了一天什么鬼啊. 原来更新的范围有讲究啊. #include<iostream> #inc ...

  8. 配置PhoneGap 到iOS

    下载 phonegap安装phonegap之前需要NodeJS环境,下载NodeJS并安装.安装环境的目的是为了使用phonegap命令行. 3. 安装phonegap使用命令    $phonega ...

  9. 当前页面js代码

    <script type="text/javascript"> var url = location.href; $(function(){ var url = loc ...

  10. Matrix_二维树状数组

    Description Given an N*N matrix A, whose elements are either 0 or 1. A[i, j] means the number in the ...