# Multithread with weaviate

**URL:** <https://forum.weaviate.io/t/multithread-with-weaviate/9395>\
**Category:** Support\
**Created:** [December 23, 2024, 2:53am UTC](https://forum.weaviate.io/t/multithread-with-weaviate/9395 "2024-12-23T02:53:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![rhuang](https://avatars.discourse-cdn.com/v4/letter/r/439d5e/32.png) [@rhuang](https://forum.weaviate.io/u/rhuang)\
**Post date:** [December 23, 2024, 2:53am UTC](https://forum.weaviate.io/t/multithread-with-weaviate/9395/1 "2024-12-23T02:53:25Z")

</div>

We are using weaviate python v4 library.

We have an application that has 10 threads, and we will do a search with weaviate in each thread whenever there is a request come in. We do not want to keep opening and closing connections to the weaviate db.

What is the recommended way to build and maintain a connection pool for such multithreaded application?

Thanks,  
Robert

---

<div class="post-metadata">

**Author:** ![DudaNogueira](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.weaviate.io/dudanogueira/32/7846_2.png) [@DudaNogueira](https://forum.weaviate.io/u/DudaNogueira)\
**Post date:** [December 23, 2024, 1:33pm UTC](https://forum.weaviate.io/t/multithread-with-weaviate/9395/2 "2024-12-23T13:33:42Z")

</div>

hi @rhuang !!

I believe the best option here is leveraging out Async Client:

> **[Async API | Weaviate](https://weaviate.io/developers/weaviate/client-libraries/python/async)**
>
> The async Python client is available in weaviate-client versions 4.7.0 and higher.

Let me know if this helps.

THanks!
