В чем разница использования цикла вместо while (true) при использовании receive с актерами. Кажется, петля работает намного быстрее, но почему и что происходит под капотом?
Есть ли что-то плохое в использовании цикла вместо while (true)?
Подробнее о контексте. Я делаю тесты производительности в простом коде пинг / понг. И я использую прием.
Это класс Ping:
class ReceivePing(
count : Int,
pong : Actor
) extends Actor {def act() {
var pingsLeft = count - 1
pong ! Start
pong ! ReceivePing
while(true) {
receive {
case ReceivePong =>
if (pingsLeft % 10000 == 0)
Console.println("ReceivePing: pong")
if (pingsLeft > 0) {
pong ! ReceivePing
pingsLeft -= 1
} else {
Console.println("ReceivePing: stop")
pong ! Stop
exit()
}
}
}}}
вместо while (true) он работает лучше с циклом.
Спасибо