【发布时间】:2010-11-04 05:41:08
【问题描述】:
谁能澄清企业库的数据库对象是否可以在没有任何线程安全问题的情况下设为静态?
【问题讨论】:
谁能澄清企业库的数据库对象是否可以在没有任何线程安全问题的情况下设为静态?
【问题讨论】:
是的,Database 实例是线程安全的。它只是一个生产连接等新对象的大工厂。实例本身在创建后不会更改状态。当您查看源代码时,您可以清楚地看到这一点。它产生的对象当然不是线程安全的。
【讨论】:
你可以,但没有重要的理由。数据库实例的创建成本很低,并且不保存任何状态。
【讨论】:
不,不要这样做。我试过了,很抱歉我做了。虽然它是线程安全的,但它大大减慢了我来自网络应用程序的查询请求。我以为我很聪明地避开了元数据的创建,但它反而把事情搞砸了。现在,我为每个请求提供了一个全新的实例,它既快乐又快速。
【讨论】: