Tak to je určitě rozdíl.
A potom, nejde ani tak o rychlost, jako o jednoduchost kodu (s thready musite davat bacha, co musi byt synchronized atp.)To bych ani neřekl. Přece jen se každý thread stará o své vlastní spojení a s ostatními "spojovacími" vlákny nemá důvod komunikovat. Jediné, co je nutné synchornizovat (ale to vždycky), jsou objekty společné všem vláknům. Psal jsem (přiznávám, jednoduchý) komunikační program pro LAN (v C#) a pro každého uživatele, kterého jste měl v seznamu, běžel jeden thread, který zjisťoval jeho stav (tj. to vlákno bylo skoro pořád ve stavu sleep) + další vlákna pro otevřená okna, kde jste si chatoval s tím daným uživatelem. Rozdělení do threadů bylo velmi jednoduché a přineslo daleko větší možnosti. Max počet vláken toho programu co jsem zkoušel byl 60, což není vůbec moc.
Pouze mě zaráží, že se "tolik" píše proti použití vlákna na každé spojení. Nic víc nic míň.
I procesory x86 udělali hodně velký pokrok, co se týče zpracování mnoha procesů (např. rychlejší přepínání kontextu, masivní paralelismus uvnitř CPU -- na GPU to ještě nemá, ale snad časem, "inteligetní" prefetch do cache). A bude se to zlepšovat. Budou přibývat jádra, zvětšovat se cache, měnit se celá architektura PC (AMD například používá NUMA ve svých multiprocesorových řešeních, místo "klasického" SMP na FSB jak má Intel). Tak nevidím důvod, proč nemít v programu třeba 512 vláken. Možná se mýlím a rád se nechám poučit.
Dobrý den,
mám problém s kódem zmíněným v článku. Když tento kód spustím, tak čekám docela dlouhou dobu, a poté mi to jenom napíše "Vstupní proud uzavřen." a pak se program ukončí. Argumenty hlavní metody používám stejné, jako jsou v příkladu (www.google.com, port 80).
Děkuji za odpovědi.
No ty sa pripajaš na HTTP server.
Preto musiš ešte zavolať metodu
"GET / HTTP/1.1" //vyziadas si dokument z rootovskeho adresara web servra
a ešte zadaš "Host: www.google.com" //cim specifikuješ v pripade virtualnych web servrov z ktoreho chceš dany dokument stiahnuť, ale aj keby si nemal virtualne servre tak v HTTP GET hlavicke sa tento udaj vyplna automaticky.
Tieto udaje už nie su sučasťou tohto telnetu ale metodami HTTP protokolu (hlavičiek), ktore sa vo web prehliadaci vyplňaju automatcky.