While in general, Brightscript is not multithreaded, some functions are, and what you described is perfectly possible using AsyncGetToString() or other Asynchronous methods of roURLTransfer, in combination with a non-zero wait time for messages from a designated message port.
- Joel