我正在编写一个多人游戏服务器,并且正在寻找新的C#异步/等待功能可以帮助我的方式。服务器的核心是一个循环,它尽可能快地更新游戏中的所有参与者:
while (!一些参与者偶尔在其更新函数中执行缓慢的任务,例如从数据库中获取数据,这正是我希望使用异步的地方。一旦检索到这些数据,参与者希望更新游戏状态,这必须在主线程上完成。由于这是一个控制台应用程序,我计划编写一个SynchronizationContext,它可以将挂起的委托分派给主循环。这使得这些任务
我有一个foreach循环,需要暂停,以便允许用户在表单上输入。wait for user to enter data on form and press button在C#中有什么等待用户输入函数可以用来完成这个任务吗?更新:将XML列表加载到队列中(使用ForEach循环)设置用户输入以迭代队列(删除顶部项,显示下一个顶级项)
在Rust中,我发现除非等待,否则在运行时不会调用异步任务或函数(甚至可以说是未来的任务)。在其他语言(如C#或NodeJS )中,可以定义async任务并并发运行它们,因为async任务的目的是提供非阻塞IO。ListenToMusic(); // the task is already running}
我使用for<em