首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >执行一个函数,同时等待另一个同步函数完成

执行一个函数,同时等待另一个同步函数完成
EN

Stack Overflow用户
提问于 2017-01-02 13:35:56
回答 2查看 40关注 0票数 0

我有以下用例:

当我从Azure Service Bus队列中将消息出队时,有时完成消息所需的时间很长(5-10分钟)。我需要能够更新消息上的锁,因为允许处理的默认时间是60秒

处理消息的函数是同步的。如何在函数继续执行的同时调用RenewLock?

EN

回答 2

Stack Overflow用户

发布于 2017-01-02 14:17:24

对于这种情况,ASB客户端提供的OnMessage应用程序接口可以提供帮助。OnMessage接口允许注册一个回调,并指定最大自动锁更新时间,这样您就不需要自己操作了。

下面是关于它的工作原理的详细解释:https://weblogs.asp.net/sfeldman/azure-service-bus-onmessage-api

票数 1
EN

Stack Overflow用户

发布于 2017-01-02 13:48:33

您至少有几个基本选项:

  1. 启动一个计时器并每隔60秒或更短的时间触发它以更新锁,计时器在线程池上触发,这样你就不会被你的主要工作阻塞
  2. 将繁重的提升卸载到单独的线程并保持主线程几乎空闲,只是在循环中等待60秒或更短的条件变量,一旦作业完成

应该通知条件变量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41421818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档