My threads operate as a linked list(with overlap, hence threads), implementing something not dissimilar to a timeline. Each condition variable unlocks the next thread in the linked list.
Should I use notify_all() or notify_one() when I have only one to notify?
Use
notify_oneunless your code makes it easier to readnotify_all(for example you’ve constructed a list which just happens to have one element in it).