Hello @Stephanie_Wang,
Thank you for your reply.
What does “the same job” in your answer exactly mean? Do you mean that the extra worker can only be used if g() is executed because the extra worker has been created to resolve a deadlock that occurred by executing g()?
In my code, the extra worker was created to execute f1() remotely, but after that, the worker could also be used for f2() by giving f2() as an argument to g(). So this indicates that the extra worker can be used for another function (as long as g() is involved).
In another topic of me, @sangcho stated that Ray uses a soft limit for the number of workers and that Ray kills the surplus of workers when they are idle.