Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GetMongoClient() 方法 多线程问题 #2

Open
Yanbuc opened this issue Oct 26, 2022 · 3 comments
Open

GetMongoClient() 方法 多线程问题 #2

Yanbuc opened this issue Oct 26, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@Yanbuc
Copy link

Yanbuc commented Oct 26, 2022

代码之中 好像没考虑 类似单例模式 双重检查的场景。
image

@tikazyq tikazyq added the enhancement New feature or request label Oct 26, 2022
@tikazyq
Copy link
Contributor

tikazyq commented Oct 26, 2022

具体是为了解决什么问题呢?

_clientMap[_optsKey] = c

@Yanbuc
Copy link
Author

Yanbuc commented Oct 26, 2022

具体是为了解决什么问题呢?

_clientMap[_optsKey] = c

感觉并发的时候会不安全。 在最开始获取mongodb 的客户端的时候,由于并发,会创建多个客户端,虽然map之中会存储唯一的一个,但是 其他的客户端会多余,同时多余的客户端 不会关闭,在一段时间内 会有过多的连接。

@tikazyq
Copy link
Contributor

tikazyq commented Oct 26, 2022

具体是为了解决什么问题呢?

_clientMap[_optsKey] = c

感觉并发的时候会不安全。 在最开始获取mongodb 的客户端的时候,由于并发,会创建多个客户端,虽然map之中会存储唯一的一个,但是 其他的客户端会多余,同时多余的客户端 不会关闭,在一段时间内 会有过多的连接。

是会有这个问题,但实际测试过会导致并发或者连接数爆炸么?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants