我有一个查询本地数据库并将其发布到 web api 的任务。目前,它需要所有行,将它们分成 500 个块,然后使用异步线程设置同时发布它们。我有另一份工作,偶尔会从服务器获取数据,我在想,如果我返回服务器负载并将其存储在Config.ServerLoad. 这是我用来设置线程的代码:
var json = JsonConvert.SerializeObject(rowDto);
var threads = new Thread(new ParameterizedThreadStart(MultiThreadPostThead));
var thisThread = new PostParams() { postUrl = postUrl, json = json, callingThread = threads };
threads.Start(thisThread);
threads.IsBackground = true;
ThreadHandles.Add(thisThread);
我希望添加这样的东西:
thread.delay(Config.ServerLoad * 1000);
例如,如果服务器负载为 0.5,线程之间几乎没有延迟,但如果它是 10,它将在帖子之间等待 10 秒。我看到了一些关于 a 的信息Task.Delay(),但没有看到任何关于线程的信息。我错过了什么有助于增加动态值延迟或设置最大并发线程数的东西?
跃然一笑
相关分类