Task: Is order of task execution deterministic?

Swift actors are neither FIFO

How do you think that Actors in Swift are not working FIFO?

Each actor instances have its own serial executors (unless no custom executors implemented), and I think it means FIFO.

  1. There is an actor instance(named in actor) which could access globally
  2. There are 3 threads running
  3. actor has instance method(named in run) which takes 5 seconds to complete
  4. Thread 1 > await actor.run()
  5. 1 second after (4), Thread 2 > await actor.run()
  6. 1 second after (5), Thead 3 > await actor.run()

In this case, does it not guaranteed that Thread 3's cross actor reference is always after Thread 2's one?

I accepted FIFO means Thread 1, 2, 3's cross actor reference always remains its order.

It would be very thankful if you point the part i thought is wrong.