Код: Выделить всё
class Animal
{
public:
int operator()(const int n=4)
{
// do something that takes a while(~1 ms)
return n*5;
}
};
Чтобы быть более конкретным, внутри каждого потока у меня есть указатель на один и тот же экземпляр Animal и внутри потока, который я вызываю ( *pointer_to_animal)(10);
Я понимаю, что при доступе к данным из обоих потоков могут возникнуть условия гонки, но поскольку все переменные, используемые внутри функции, передаются в или создан в стеке, условий гонки нет. Я бы хотел, чтобы два потока выполнялись параллельно для одного и того же экземпляра Animal.
Подробнее здесь: https://stackoverflow.com/questions/654 ... s-blocking
Мобильная версия