Нет такой вещи, как "вызов" потока из другого потока.Ваши три потока работают одновременно и независимо друг от друга.
Ваш поток менеджера магазина действует как рабочий поток, который обслуживает запросы от двух других потоков.
Когда одна из подсистемпотоки должны выполнить операцию базы данных, она отправляет некоторую форму сообщения потоку менеджера магазина, который содержит информацию о функции, которая должна быть выполнена.Один из способов реализовать это взаимодействие - это потокобезопасная очередь.Поток подсистемы в этом случае добавит запрос задания в очередь заданий.
Поток менеджера магазина контролирует очередь заданий и выполняет запросы заданий из очереди по мере их добавления другими потоками.Завершенные задания удаляются из очереди.
Обратите внимание, что потоки подсистемы не будут блокироваться, пока поток менеджера хранилища выполняет запрошенную задачу.Вместо этого вам нужно разработать механизм связи между потоками, с помощью которого потоки подсистемы смогут узнать, когда задание завершено, и при необходимости получить информацию о результате.
Я рекомендую вам прочитать данные, ориентированные на многопотоковое исполнение.структуры и примитивы синхронизации.