8 个版本 (破坏性)
0.7.0 | 2024 年 6 月 25 日 |
---|---|
0.6.0 | 2023 年 10 月 28 日 |
0.5.0 | 2023 年 5 月 20 日 |
0.4.0 | 2023 年 3 月 16 日 |
0.1.0 | 2020 年 8 月 25 日 |
#241 in 并发
每月 471 次下载
5KB
tlrepo
提供了 ThreadLocalRepo
,这是一种方便地在线程之间共享 git2::Repository
对象的方法。
标准的 git2::Repository
对象不支持在不进行某种形式的同步的情况下在线程之间共享。 tlrepo::ThreadLocalRepo
提供了一种方便的方式在每个线程上重新打开相同的仓库,并将打开的仓库线程局部地缓存以供重用。
您可以通过调用 ThreadLocalRepo::new
来创建一个 ThreadLocalRepo
,或者通过使用扩展特质 tlrepo::RepositoryExt
来调用对现有 git2::Repository
的 .thread_local()
。您可以在线程之间共享 ThreadLocalRepo
,通过调用 .get()
来获取一个 git2::Repository
对象以进行操作。
lib.rs
:
tlrepo
提供了 ThreadLocalRepo
,这是一种方便地在线程之间共享 git2::Repository
对象的方法。
标准的 git2::Repository
对象不支持在不进行某种形式的同步的情况下在线程之间共享。 tlrepo::ThreadLocalRepo
提供了一种方便的方式在每个线程上重新打开相同的仓库,并将打开的仓库线程局部地缓存以供重用。
您可以通过调用 ThreadLocalRepo::new
来创建一个 ThreadLocalRepo
,或者通过使用扩展特质 tlrepo::RepositoryExt
来调用对现有 git2::Repository
的 .thread_local()
。
依赖项
~9MB
~239K SLoC