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…