我正在阅读和学习有关ThreadScheduler
任务的文章,并遇到了ThreadPool.UnsafeQueueUserWorkItem
一个MSDN 示例中使用的有关自己的 ThreadScheduler 的函数。在关于 UnsafeQueueUserWorkItem的 MSDN描述中,有一个很大的警告,该函数可能是一个安全漏洞,并且它“不会传播调用堆栈”。
唯一的链接是QueueUserWorkItem
哪个——从名字上看——似乎是“安全对应物”?但也没有提到任何关于调用堆栈的内容。
传播堆栈到底意味着什么?在工作开始之前复制它?为什么另一个线程仍然需要调用线程的堆栈?我会假设他们从一个新的空堆栈开始。毕竟线程函数返回的时候,不会继续执行调度Task的函数吧?