Both calls are async. 'get' will either return a result or timeout. The request will wait for some kind of reaction from the Actor in this case however.
The application will not lock up if a result is not returned because of the protected implicit val timeout = Timeout(10)
at the top of the class (this will instruct myActor ? q
to give up on a result after 10 seconds).
The second example is a pure future based approach in which the body of 'Future' performs a series of operations async and onComplete returns a result.
I suggest you read Akka Actors documentation for more details