Ввиду отсутствия нормального акторного фреймворка под Rust, возникла крайне неодназначная по началу идея, которая со временем стала мне казаться довольно любопытной. std::thread + std::sync::mpsc = актор на выделенном потоке. В терминологии akka это актор на пиннед диспетчере. И собственно а почему бы и нет? По каналам сообщения идут в строгом порядке один за одним, поток обладает собственным состоянием, которое не может быть изменено вне хендлера сообщений. Он может реализовывать различные варианты поведения, заменяя их по факту приема сообщений.
Проблема возникает в следующем - акторов может быть очень много, потенциально тысячи. Очевидно что все их потоки будет 99% времени находится в состоянии ожидания и будут игнорироваться планировщиком. Но все же хочется понять, какие могут быть минусы у такого решения по части накладных расходов за огромное количество потоков?