как одновременно ждать токен отмены и EventWaitHandle в F #?

Я хотел бы найти способ объединить эти две строки:

cancellationToken.WaitHandle.WaitOne() |> ignore
waitHandle.WaitOne() |> ignore

в зависимости от того, что произойдет раньше, поток выполнения продолжится. Можно ли это сделать?


person Thomas    schedule 09.01.2021    source источник
comment
Какая проблема у вас возникла с решением из вашего предыдущего вопроса?   -  person Sergey Berezovskiy    schedule 09.01.2021
comment
Нет, это было именно то, что я искал. Когда я столкнулся с проблемой, я посмотрел на нее с разных точек зрения и не понял, что это одно и то же. Думаю, можно смело закрывать этот вопрос.   -  person Thomas    schedule 09.01.2021


Ответы (1)


Я предполагаю, что вы могли бы поместить два дескриптора в массив, а затем подождать. Что-то типа:

[|
    cancellationToken.WaitHandle
    waitHandle
|] |> WaitHandle.WaitAny |> ignore

Примечание. Я не пытался компилировать или запускать этот код.

person brianberns    schedule 09.01.2021