Is queue still a must in opencv4.5 's videocapture

Hi , I’m trying to develop a video based ocr application with opencv-qt,

I’ve found 2 question right now:
1.Does Opencv4.5 still needs a Queue with videocapture ? Would the program being delayed or break while preprocessing time is more longer than capture time?
2.I’m not sure if multi-threading a must in an Ocr usb cam video based application, if so,
how am I able to achieve this, examples are appreciated!
I’m now considering something like Queue with Mat pointer transmitting from capture thread to serval recognition threads, and a readwritelock. Is it an appropriate way

who says so ? and why / when ?

ocr apps are typically “single shot”, not realtime, so no need for concurrency at all
Hi, I’m building a real-time application based on cam. There’s only a few characters so time cost of preprocess would be fine.
I’ve been searched and I’m guessing that I need a buffer stuff to grab the latest frame.
(My guess is if the preprocess of one frame stuck, every other frames are being delayed, which is unacceptable)
I’m now trying buffer class like this link, but I’m not that sure does this function works in my program, just trying to make sure am I in the right way, thanks in advance!