我在多线程C#应用程序中使用google drive API。我想知道Google dot net client library它是否是线程安全的。
此外,我想知道更正确的事情:
每次创建一个singelton服务或新服务。
答案 0 :(得分:1)
如果您询问Google .net client Library是否是线程安全的。我很确定它是。在文档中至少有一个地方注意到它是线程安全的。
Google APIs Client Library for .NET
UserCredential是一个使用访问令牌的线程安全帮助程序类 访问受保护的资源。访问令牌通常在之后到期 1小时,如果您尝试使用它,将会出现错误。
答案 1 :(得分:0)
不是。我已经尝试过编写一些代码,假设它是,并且我的代码有时会随意崩溃在" request.Execute()" s ...
我尝试使用互斥锁,因此一次只有一个线程使用单件服务:这减少了崩溃,但它并没有消除它们。
离开互斥锁,我将其更改为单个UserCredential,并为每个线程使用新服务,因此它没有崩溃。 (我不知道我是否需要互斥锁,但谷歌api调用对我的应用程序来说不是关键路径,我只需要从主线程中获取调用。)