我有一项服务,它通过调用 ThreadPool.QueueUserWorkItem(blah); 不断将线程任务添加到 ThreadPool;当我想更新服务时,我停止服务,卸载,重新安装较新版本,然后重新启动服务。当所有这一切发生时,我希望 ThreadPool 将清除所有在此更新发生之前没有机会执行的旧任务。但是,情况似乎并非如此,因为当服务重新启动时,它会尝试从中断处继续并执行旧任务。这是错误的假设吗?什么会导致旧任务保留在内存中?
我有一项服务,它通过调用 ThreadPool.QueueUserWorkItem(blah); 不断将线程任务添加到 ThreadPool;当我想更新服务时,我停止服务,卸载,重新安装较新版本,然后重新启动服务。当所有这一切发生时,我希望 ThreadPool 将清除所有在此更新发生之前没有机会执行的旧任务。但是,情况似乎并非如此,因为当服务重新启动时,它会尝试从中断处继续并执行旧任务。这是错误的假设吗?什么会导致旧任务保留在内存中?