![]() ![]() ![]()
Какой рейтинг вас больше интересует?
|
Главная /
Каталог блоговCтраница блогера Лайт Лента/Записи в блоге |
![]() |
|
Обсуждение сайтов » forth.fteme.ru
2013-05-28 19:01:45 (читать в оригинале)ЗАРАБОТОК С ПОМОЩЬЮ МОБИЛЬНОГО ТЕЛЕФОНА. Вот такой громкий заголовок использует сайт. А на деле мы видим ужасный дизайн. Огромную свалку рекламы. Ужасную навигацию по сайту. Ну по крайней мере на сайте есть несколько оригинальных и полезных статей о заработке. С таким то громким названием стоило бы постараться лучше
Обсуждение сайтов » your.wen.ru
2013-05-28 02:06:37 (читать в оригинале)Wap-мастерская для начинающих сайтостроителей, в которой вы найдете ответы на такие вопросы: как создать wap сайт (создание сайтов), продвижение сайтов, раскрутка сайтов. Здесь вы найдете нужную информацию, дающую толчок в изучении основ html, css, кроме того онлайн сервисы, нужный софт и др. Теперь пара слов от меня. Приятный и красивый дизайн. Удобный интерфейс, хотя немного и непонятный. Никаких бесплатных сервисов, все свое. На сайте несколько простеньких счетчиков и ссылка на страничку вконтакте © Adamant 2010-2013
Программирование » Онлайн учебник для Python
2013-05-27 18:47:38 (читать в оригинале)Python — высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Синтаксис ядра Питона минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом. Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию). В феврале 1991 года Гвидо опубликовал исходный текст в ньюсгруппе alt.sources. С самого начала Python проектировался как объектно-ориентированный язык. Название языка произошло вовсе не от вида пресмыкающихся. Автор назвал язык в честь популярного британского комедийного телешоу 1970-х «Воздушный цирк Монти Пайтона». Впрочем, всё равно название языка чаще ассоциируют именно со змеёй, нежели с фильмом — пиктограммы файлов в Microsoft Windows и даже эмблема на сайте python.org изображает змеиные головы. Путеводитель по Python: + Полезные сайты Python: http://www.python.org http://docs.python.org/release/2.3/lib/built-in-funcs.html http://docs.python.org/library/functions.html
Программирование » Процессы и потоки в Python
2013-05-27 18:24:23 (читать в оригинале)Запущенная на Python программа называется процессом. Процесс при запуске содержит один единственный поток, который обычно называют главным потоком процесса. Поток последовательно выполняет инструкции программного кода. Процесс содержит информацию об объеме занимаемой оперативной памяти, списке открытых файлов, программный счетчик ссылающийся на выполняемую инструкцию, стек вызовов используемый для хранения локальных переменных функции. Программа может создавать новые процессы, называемые — дочерними. Дочерние процессы являются независимыми и изолированными друг от друга. У процесса существует флаг, говорящий о том, является ли процесс демоническим. Демонический процесс автоматически завершается вместе с процессом создавшим его, кроме того демонические процессы не могут создавать дочерних. Для обмена информацией между процессами нужно использовать механизмы взаимодействия процессов IPC (Inter-Process Communication). Одним из таких механизмов является — обмен сообщениями. Сообщение — это простой буфер двоичных байтов передаваемых через каналы ввода-вывода, по средством операций send() и recv(). Также существует и другие механизмы, например отображаемые области памяти (модуль mmap). Этот метод основан на использовании разделяемых областей памяти, доступных всем процессам. Вместо запуска новых процессов, можно создать новые потоки в текущем процессе. Такие потоки будут выполнять собственные последовательности инструкций, иметь свой стек вызова функций, а также иметь доступ к данным и системным ресурсам выделяемым процессу. Создавать новые потоки целесообразно, когда необходимо реализовать одновременное выполнение нескольких задач и имеется значительный объем данных, которые должны быть доступны всем потокам. При параллельном выполнении задач, возникает проблема доступа к совместно используемым данным. Попытка изменить некоторые данные одновременно из нескольких потоков может привести к их повреждению и нарушению целостности состояния программы. Для решения этой проблемы необходимо выделить критический участок программного кода, в котором осуществляется доступ к данным и обеспечить его выполнение под защитой взаимоисключающих блокировок. В Python существует глобальная блокировка интерпретатора Global Interpreter Lock (GIL). Из-за доступа к переменным интерпретатора, GIL вынуждена блокировать потоки и фактически одновременно будет выполняться только один поток. Лишь при блокирующих операциях, таких как ввод-вывод у других потоков есть шанс перехватить эстафету на выполнение. Многопоточность лучше всего использовать при написании логики с множеством операции ввода-вывода. Программный код с многочисленными вычислениями не имеет смысл переносить на многопоточность, это плачевно скажется на производительности программы. Большой объем вычислений в программном коде лучше всего реализовать в несколько процессов, обеспечив их взаимодействие с помощью механизма обмена сообщений. import time import multiprocessing class EmailMessage(multiprocessing.Process): def __init__(self, email, msg): super(EmailMessage, self).__init__() self.email = email self.msg = msg def run(self): self.send_msg() time.sleep(5) def send_msg(self): print "Send message from %s" % self.email emails = ['bobby@gmail.com', 'mikki@gmail.com', 'frank@gmail.com'] for email in emails: p = EmailMessage(email, 'Hello world!') p.start() - [url=http://ligh.te.ua/topic1194.html]Многопоточность в Python
Программирование » Многопоточность в Python
2013-05-27 18:22:05 (читать в оригинале)Модуль thread позволяет создавать несколько потоков и управлять ими. Предоставляет средства низкого уровня для работы с несколькими потоками, совместно использующими глобальные данные. Для синхронизации модуль предо- ставляет простые средства блокировки. # -*- coding: utf-8 -*- # http://docs.python.org/library/thread.html import thread import urllib import time # Время начала работы программы t1 = time.time() # Список сайтов для чтения list_url = ('http://www.kremlin.ru', 'http://www.gosuslugi.ru', 'http://www.python.org', 'http://www.djangoproject.org', 'http://www.yandex.ru', 'http://www.google.ru', ) # Создадим функцию, которая будет выполняться одновременно разными потоками def read_site(number, url, lock): t1 = time.time() r = urllib.urlopen(url) t2 = time.time() print "#%s, site: %s, time: %.2f" % (number, url, (t2-t1)) # Освобождаем объект lock.release() # Список объектов блокировки потоков lock_list = [] for number, url in enumerate(list_url): # Создаем новый объект блокировки. Изначально блокировка в состоянии False. lock = thread.allocate_lock() # Блокируем объект lock.acquire() # Запоминаем блокировку lock_list.append(lock) # Запускаем новый поток и выполняем в нем функцию thread.start_new_thread(read_site, (number, url, lock)) # Ожидаем завершения всех потоков while(any([l.locked() for l in lock_list])): time.sleep(2) # Время завершения работы программы t2 = time.time() print 'Execution of all threads is complete, time: %.2f' % (t2-t1) """ #0, site: http://www.kremlin.ru, time: 0.09 #4, site: http://www.yandex.ru, time: 0.15 #5, site: http://www.google.ru, time: 0.17 #2, site: http://www.python.org, time: 0.19 #1, site: http://www.gosuslugi.ru, time: 0.52 #3, site: http://www.djangoproject.org, time: 1.63 Execution of all threads is complete, time: 2.00 """ + [url=http://ligh.te.ua/topic1195.html]Процессы и потоки в Python



Категория «Графика»
Взлеты Топ 5
![]() | ||
+203 |
215 |
книга мудрости |
+188 |
288 |
Relazioni |
+164 |
208 |
Палитра тишины - веб-дизайн и не только... |
+163 |
207 |
Blender-Empire |
+148 |
227 |
Карен-тян |
Падения Топ 5
![]() | ||
-3 |
13 |
ITDalee |
-5 |
245 |
Создавая пространство.. Блог декоратора Кати Саган |
-6 |
4 |
antiqvar |
-8 |
7 |
Канарик |
-11 |
6 |
Real_Dark_Trancer |

Популярные за сутки
Загрузка...

BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.