Stateful rules and multi-threading


I am new to suricate, so I apologize for the dumb question. But in case of multiple packet processing threads in suricata, for stateful rules (such as maintaining flow count), does suricata have a locking mechanism? And in that case if all the traffic I receive triggers that rule, then I am essentially never operating in parallel?