Обновить
17
0
Andrey Popp@bsdemon

Пользователь

Отправить сообщение
> сделать на питоне sleep без блокирации event loop довольно слоожно и код будет намного длиннее!
В tornado это IOLoop.add_timeout, в Twisted — reactor.callLater, в Haskell — Control.Concurrent.threadDelay, в Erlang — timer:sleep(), в gevent — gevent.sleep.

> И на данный момент я не видел решений которые предоставляли возможность писать неблокирующий скрипты легко и непренуждённо, как это делает Node.
Видимо плозо искали.
У вас в примере с Tornado вызов time.sleep блокирует весь event-loop, именно поэтому и получается такая красивая цифра ы 20 секунд = 10 соединений * 2 секунды задержки. То есть во время задержки другие соединения не обслуживаются. Учите мат. часть.
> обладающей довольно уникальной на сегодняшний день особенностью, неблокирующим I/O
Erlang (BEAM), Haskell (GHC), Python (Twisted, gevent, eventlet, concurrence), Ruby (EventMachine).

Программирование с коллбэками это же не удобно, не понимаю чего все нашли такого особенного в этом node.js, разве что на сервере на javascript писать. А так — это просто Twisted на javascript. Попробуйте лучше использовать что-нибудь с корутинами, типа Erlang, Haskell или Python (greenlet+gevent/concurrence/eventlet).
Есть такое понятие — логика представления, это она и есть.
Ладно уж, с арифметикой у верстальщика должно быть всё в порядке.
Попробуйте убрать global — всё должно работать.
Зачем вы везде global понаставили?
Хорошо, извиняюсь, не так понял — вы хотите угадывать не учитывая порядок, а просто по результирующему набору. Тогда нужно просто сложить, посчитанные выше, вероятности для эквивалентых выборок, например:
вероятность выпадения одной решки в трёх бросках = p(001) + p(010) + p(100) = 0.375
Я имею ввиду, что подбрасывание монеты подряд — попарно независимые эксперименты. Вероятность получить «орёл» в одном эксперименте — 0.5. В трёх подряд — 0.5*0.5*0.5 = 0.125.
Неужели для этого нужно было писать скрипт?!
8mayday at gmail dot com
Thanks!
Думаю не моложе чем Tornado. Тем более, что gevent являестся продолжателем eventlet, который уже давно разрабатывается.
Очень советую посмотреть на concurrence или gevent. Их event-loop целиком находится в Си (Libevent), и обе библиотеки предоставляют API синхронного стиля на базе корутин (используются greenlet).
Кто такой этот Никита? :)
Вот опровержение — metamatix.org/~ocaml/price-of-abstraction.html
Да, именно, в этом то и удобство, что можно смело менять платформу виртуализации. Я сам использую KVM.
Это стандартный API для Xen. qemu, KVM, virtualbox. Конфигурация каждой ВМ храниться в XML. Конфигурация сети тоже в XML. Для управления из командной строки — virsh. Есть биндинги ко многим языкам программирования. С помощью пакета virtinst легко клонировать машины (он сам даже генерирует MAC адреса для их сетевых интерфейсов и т.д.). Ну там много всяких удобностей.
Пользуйтесь libvirt ;)

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность