关于任务的几个问题:
所有示例中的
class Receiver :
task :: receive
receive :
while true :
sleep --ms=100
print "inside thread"
./web.toit:51:8: error: Unexpected token: ::
task :: receive
^~
./web.toit:51:3: error: Missing body
task :: receive
^~~~
Compilation failed.从示例中可以看出,
发布于 2021-04-09 08:17:14
您可以在类内创建任务,但您需要在方法中或作为字段初始化器的一部分来完成任务。但是要注意的是,字段初始化器不能访问this,因此没有this方法.
假设您希望在接收类中有一个包含该任务的字段。然后你会想要写:
class Receiver:
task_ := null
constructor:
task_ = task:: receive
receive:
while true:
sleep --ms=100
print "inside thread"您可以通过调用任务上的cancel来取消任务。一旦达到屈服点,它就会停止。
目前无法从外部暂停/恢复任务。不过,考虑到您的反馈,我们正在讨论向其添加此功能的可能性。
现在,您可能只需要使用同步原语,就像信号量一样。您可以将其添加到循环的开头。
https://stackoverflow.com/questions/67016695
复制相似问题