Отговорих на въпрос, който звучи удивително подобно на вашия, където някой имаше домашна задача да създаде настройка на клиентски сървър, като всяка връзка се обработва в нова нишка: https://stackoverflow.com/a/9522339/496445
Общата идея е, че имате цикъл на главния сървър, който постоянно търси нова връзка, която да влезе. Когато това стане, вие я предавате на нишка, която след това ще извърши собствен мониторинг за нова комуникация.
Допълнителна информация за asyncore срещу threading
От asyncore документи:
Има само два начина една програма на един процесор да прави „повече от едно нещо наведнъж“. Многонишковото програмиране е най-простият и популярен начин да го направите, но има и друга много различна техника, която ви позволява да имате почти всички предимства на многонишковото програмиране, без всъщност да използвате множество нишки. Наистина е практично само ако вашата програма е до голяма степен обвързана с I/O. Ако вашата програма е обвързана с процесора, тогава предварително планираните нишки вероятно са това, от което наистина се нуждаете. Мрежовите сървъри обаче рядко са обвързани с процесора.
Както подсказва този цитат, използването на asyncore и нишката трябва да бъдат в по-голямата си част взаимно изключващи се опции. Връзката ми по-горе е пример за подхода за нишки, при който цикълът на сървъра (или в отделна нишка, или в основната) извършва блокиращо повикване, за да приеме нов клиент. И когато получи такъв, той създава нишка, която след това ще продължи да обработва комуникацията и сървърът отново се връща към блокиращо повикване.
В модела на използване на asyncore вместо това бихте използвали неговия async цикъл, който на свой ред ще извика вашите собствени регистрирани обратни извиквания за различни дейности, които се случват. Тук няма нишки, а по-скоро проучване на всички отворени манипулатори на файлове за активност. Усещате, че правите всички неща едновременно, но под капака всичко се планира последователно.
person
jdi
schedule
21.03.2012
през последните три часа се опитвах да създам проста кръгова диаграма с добавка invient-charts във vaadin. Четох много за това и сложих jquery.js и highcharts.js във файл с уеб съдържание. Модифицирах моя xml файл, за да препратка към сервлета на моето приложение. Но пак не става. Мисля, че и аз правя тези неща погрешно. Сега ме подлудява. Може ли някой да ми предостави прост урок за създаване на кръгова диаграма или друг пример за диаграма?
- person Collin Green   schedule 21.03.2012