gpt4 book ai didi

nhibernate - 每个线程的 NHibernate session 是否与线程池一起使用?

转载 作者:行者123 更新时间:2023-12-04 05:15:10 25 4
gpt4 key购买 nike

如果我以某种方式设法将 NHibernate session 配置为每个线程,那么当我处理来自线程池的线程中的数据时,这会起作用吗?

池中的线程被“回收”(是的?)所以如果一个线程已经被使用过一次并且它再次被调用,它的 session 将不再可用吗?

最佳答案

ISession的正确处理完全掌握在您的手中,您有责任。不是线程池。因此,如果您为每个线程使用 session 实例,您仍然应该知道(和管理)它何时被创建,并且它 明确是 关闭并处置。

如果那 ISession管理到位,不用担心线程池的问题。另一方面,这也意味着,在 [ThreadStatic] 中打开和保持 session 。字段 - 不正确:

  • Will values in my ThreadStatic variables still be there when cycled via ThreadPool?

  • 简短摘录:

    The thread pool (by design) keeps the threads alive between calls. This means that the ThreadStatic variables will persist between calls to QueueUserWorkItem.

    关于nhibernate - 每个线程的 NHibernate session 是否与线程池一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14370964/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com