using Akka.Configuration;
using System.Threading.Tasks;
public static void Main()
var config = ConfigurationFactory.ParseString(@"akka.actor.default-dispatcher { type = ""Akka.Dispatch.TaskDispatcherConfigurator""}");
var system = ActorSystem.Create("Sample", config);
var actor = system.ActorOf<FreeBusyActor>();
for (var i = 0; i < 10; i++)
public class FreeBusyActor : ReceiveActor
Console.WriteLine("Getting busy...");
Task.Delay(80).ContinueWith(_ => "you're free").PipeTo(Self, Self);
if (s == "you're free" && Sender.Equals(Self))
Console.WriteLine("Getting free...");
Console.WriteLine("Not doing anything, I'm busy...");