Wszystkie czasy w strefie UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
  Drukuj

PROBLEM Z c++
Autor Wiadomość
PostNapisane: poniedziałek, 19 lipca 2010, 13:10 
Offline

Dołączył(a): poniedziałek, 19 lipca 2010, 12:39
Posty: 1
Imię: Neti
Gg: 0
Szukam rozwiązania dla problemu niżej opisanego.
Wszelkie pomocne rozwiązania można przesyłać mailowo lub dzwoniąc pod nr tel 666-359-103...


Zasada jest prosta, serwer słucha na socketach (za pomocą boost::asio), i po dostaniu odpowiedniego komunikatu zwraca jakąś odpowiedź.
Odpowiedzi są generowane na podstawie danych w bazie (PostgreSQL), do której dostęp jest za pomocą libpqxx.
Jako, że generowanie niektórych odpowiedzi może czasem odrobinkę trwać, postanowiłem całość uruchomić z użyciem wątków.
Wątki mam zaimplementowane za pomocą boost::thread. Wykorzystałem do tego między innymi przykłady integracji boost::asio i boost::thread.
Jako, że libpqxx nie jest thread-safe, otwieram nowe połączenie z bazą danych dla każdego nawiązanego połączenia na socketach, gdzie każda
metoda asynchroniczna jest uruchamiana z pomocą boost::asio::io_service::strand, co w efekcie powinno zapewnić że jedno połączenie
z bazą danych działa na jednym wątku. A mimo to przy uruchamianiu kilku zapytań jednocześnie (zazwyczaj wystarczą już 3),
serwer się wysypuje (nieodmiennie przy próbach dostępu do bazy) - jedno zapytanie na raz (a co za tym idzie brak równoległych dostępów do bazy)
działa bezbłędnie, co doprowadza mnie do wniosku, że jest to problem pqxx vs. wątki.
Niestety utknąłem w tym punkcie i nie mam pojęcia jak to dalej ruszyć :/


Góra
 Zobacz profil  
 

Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 

Wszystkie czasy w strefie UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Style by gokinstudio, Powered by phpBB © 2009 phpBB Group Cinquecento