Я пытаюсь написать серверную программу, которая может отслеживать количество экземпляров какого-либо объекта.
В данный момент я использую статическое int, которое увеличивается во время конструктора объекта:
class myObj{
public:
static int numOfInstances;
myObj();
};
int myObj::numOfInstances = 0;
myObj::myObj(){
this->numOfInstances = ++myObj::numOfInstaces
}
Но я также хочу разветвляться для каждого соединения, причем дочерний процесс обрабатывает каждое, а родитель постоянно прослушивает новые соединения.
Если я использую fork (), каждый дочерний процесспроцесс не знает о новых соединениях и новых объектах, созданных благодаря им.
Я думаю, что многопоточность могла бы быть решением, но я не уверен, что многопоточность обрезана для такого рода вещей (большая часть программыбудет работать в потоке).Даже если это так, его нет в стандарте ANSI, поэтому я бы предпочел найти решение, использующее fork.
Если с fork не существует нормального решения, какое решение для потоков порекомендуют люди?Я пишу для Linux, но я бы предпочел кросс-платформенное решение.