我想让多个线程在同一个kusto ICslQueryProvider上查询kusto。这个线程安全吗?
我当前锁定了资源,但希望异步处理
var client = Kusto.Data.Net.Client.KustoClientFactory.CreateCslQueryProvider("https://help.kusto.windows.net/Samples;Fed=true");
var reader = client.ExecuteQuery("MyTable | count");
答案 0 :(得分:1)
The docs状态:
更具体地说,创建一个类似于ADO.NET的客户端以允许查询 针对Kusto,在 Kusto.Data.Net.Client.KustoClientFactory类。这些采取 连接字符串,并创建一个线程安全的一次性客户端对象。 (强烈建议客户代码不要创建 此对象的“太多”实例,而是每个对象创建一个对象 连接字符串,并在需要时一直保持它。) 允许客户端对象有效地缓存资源。
通常,客户端上的所有方法都是线程安全的,其中两个 例外:处理和设置器属性。为了获得一致的结果, 一个人不应同时调用这两种方法。
是的,您的client
是线程安全的。