Multithreading and Performance in Unreal

Indeed, thank you very much @ayliroe for this great overview of Unreal multithreading!

The one thing that I couldn’t find here, and also couldn’t find with Google, is how I can do a blocking producer/consumer pattern. Actually, I am only interested in a blocking producer (because the consumer is going to the the game thread).

I was expecting there to be a blocking variant of TCircularQueue but I can’t seem to find it.

Also, I can’t find anything like a counting semaphore (with which I could turn a TCircularQueue into a blocking circular queue).

Am I missing something? Or am I trying to go at my problem in a non-Unreal way? I have a lot of data that I need to read from disk, and I don’t want the reader thread to get too far ahead of the consumer, because things wouldn’t fit in memory otherwise…