У меня есть эта "интересная" проблема. У меня есть этот старый код, который выглядит как
int main()
{
while(true) {
doSomething();
}
}
Я хотел бы дублировать этот doSomething () во многих потоках, чтобы теперь main () выглядела как
int main() {
runManyThreads(threadEntry)
}
void threadEntry() {
while(true) {
doSomething();
}
}
Проблема в том, что doSomething () имеет доступ ко многим глобальным и статическим переменным, и я не могу изменить его код. Есть ли хитрость для дублирования этих статических переменных, чтобы у каждого потока был свой набор? (что-то вроде локального хранилища потока, но без влияния на doSomething ()) ..
Я использую VisualC ++