单例动作能否再次点击按钮时终止当前正在运行的单例动作

使用问题 · 377 次浏览
HumbleCo... 创建于 10天19小时前

前提:动作A、B、C正在运行,其中A为单例模式的动作

触发:点击A动作按钮

目前:弹出《动作 A 已在执行》

期望:运行中的动作A被中止,动作B、C不受影响照常运行

 

以上要怎么实现,动作内部该怎么判断


回复 x
回复内容
CL 10天17小时前
#1

不支持这样的操作。单例是禁止重复运行,不能停止先前的动作。

这里也没有十分明确的方法来实现这个需求。 有一个思路是在动作启动的时候生成一个随机数写在某个位置,然后定期读取它,如果变化了,说明有新的实例运行了,就退出当前动作。


那如果放开单例限制,怎么实现再次点击按钮时让正在运行的动作A1以及刚才打开的动作A2一起被中止,而动作BC不受影响呢

HumbleCo... 10天11小时前

就是变成一个伪单例,没有运行中的A时,该A正常运行,有已运行的A时,把已运行的A1中止然后本身A2也中止

HumbleCo... 10天11小时前
回复 HumbleCo... :

我上面说的就是前一个实例退出的办法。 不过总是比较麻烦的,尽量避开这种方式比较好。

CL 10天2小时前
回复 x
回复主贴