![]() |
1
7
最好的方法(尽可能少地修改代码)是这样做:
正如你所看到的,没有真正的需要
UPD关于同步:最好的方法是在外部类看不到的锁上同步,即:
|
![]() |
2
3
有几种方法可以创建单例。 推荐的一种方法是使用枚举(保证只创建一个实例):
也可以在类加载时静态创建:
如果您需要懒洋洋地加载它,您可以使用这个习惯用法(而不是 double checked locking anti-pattern )
|
![]() |
3
2
|
![]() |
4
2
静态同步方法使用类上的锁。在您的示例中,它将访问ConnectionFactory类对象上的锁。最好的做法是不要把锁握得太久。是否有多个同步方法本身不是问题。 |
![]() |
5
0
通用程序设计 建议使用枚举创建单例。所以你的代码应该是这样的:
|
![]() |
user107586 · 如何处理等待句柄不会导致无限循环? 8 月前 |
![]() |
ron burgundy · 获取-释放语义是否跨线程传递?[副本] 9 月前 |
![]() |
BenjiFB · C#内存缓存:在一次操作中追加到列表? 9 月前 |
![]() |
András Takács · Python多线程问题 1 年前 |
|
András Takács · Python多线程错误 1 年前 |