singletone в пределах потока
От: ё-лка  
Дата: 19.11.07 16:24
Оценка:
Есть примерно такой код

SomeClass::Func()
{
   memder->SomeFunction();
}


member::SomeFunction()
{
 // SomeClass  - SingleTone
  SomeClassHolder()->Instance()->SomeOtherFunction();
}



Раньше был один поток и такая конструкция работала, теперь появилась необходимость распределить нагрузку на несколько потоков, следовательно конструкция типа SomeClassHolder()->Instance()->SomeOtherFunction() не подходит. пока вижу 2 варианта решения.

1)Написать Singletone — который в зависимости от того из какого потока его вызвали будет возвращать соответствующий указатель.
— количество потоков константно не изменяется во время работы программы.
2)Передавать нужный объект в качестве параметра SomeOtherFunction(SomeClass &someclass);

Интересно может есть какиенить подводные камни которых я не вижу или другие интересные решения ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.