Nie mam pojecia jak kozystac z watkow w Delphi
ale piszac serwer i klienta ftp w c++ robilem to tak
przy uruchomieniu serwera on odpalal np 50 instancji samego siebie
z czego 49 szlo lulu (bylo usypiane) jeden czekal na polaczenia . Jezeli jakis klient sie polaczyl to byl budzony jeden z watkow i przekazywana byla do niego sesja denego uzytkownika . W przypadku gdy podlanczal sie 51 user bylo tworzonych odpowiednio wiecej nowych watkow :-)
Co do poruszanego tematu synchronizacji to musialbys synchronizowac tylko te fragmenty kodu gdzie sa zmieniane dane majace wplyw na dzialanie innych watkow .
W twoim przypadku widze to tak :
Nie musisz tworzyc wielu instancji programu na dzien dobry poniewaz masz malo zaplanowanych klientow . Glowny watek serwera czeka na polaczenia i w przypadku akceptacji nowego tworzy nowy watek cala obsulge przekazuje do tego watku i to cale jego zadanie . Cala reszta zajmuje sie watek :-)
Mozesz takze na starcie zrobic watek nadzorce (w elektronice to jest Watch DOG) ktory np zbiera dane o punktach czy o stanie zaawansowania danego gracza no i na tej podstawie mozesz przewidywac np nowy ruch :-) ale o tym juz pisza w ksiazkach o teorii gier i sztucznej inteligencji .
pozdrawiam wojta$--Lets make linux better :-)