Какой модуль потоковой передачи я должен использовать, чтобы дисковый ввод-вывод не блокировал сетевой ввод-вывод?

У меня есть приложение Python, которое, если коротко, получает данные с удаленного сервера, обрабатывает их, отвечает серверу, и иногда сохраняет обработанные данные на диск. Проблема, с которой я столкнулся, заключается в том, что необходимо записать много данных, а процесс сохранения может занять до получаса. Очевидно, это операция блокировки, поэтому сетевой ввод-вывод в это время останавливается. Я бы хотел, чтобы операция сохранения происходила, так сказать, в фоновом режиме, чтобы приложение могло продолжать достаточно быстро обмениваться данными с сервером.

Я знаю, что мне, вероятно, понадобится какая-то модуль threading для достижения этой цели, но я не могу сказать, в чем разница между thread , threading , multiprocessing и другими различными вариантами. Кто-нибудь знает, что я? Теперь этот сайт будет доступен и на арабском языке. .post ul li {цвет: # 555555; фон: URL (images / ico-bullet_round.gif) no-repeat! important; ...

Я использую настраиваемые маркеры на веб-сайте. Теперь этот сайт будет доступен и на арабском языке.

.post ul li{
    color: #555555;
    background: url(images/ico-bullet_round.gif) no-repeat !important;
    background-position: 300px 6px !important;
    padding-right: 15px !important;
    padding-left:0 !important;
    direction:rtl;
}

Однако с direction: rtl; я не могу разместить все маркеры справа. Некоторые из них имеют больший отступ, чем другие.

См. Снимок экрана, показывающий проблему.

Есть предложения, как просто выровнять все маркеры справа?

ОБНОВЛЕНИЕ: См. Этот снимок экрана с фоном - позиция установлена ​​на 0 6 пикселей. Это как-то связано с direction: rtl; , но я не могу понять этого.

alt text

7
задан Julian 16 October 2010 в 20:41
поделиться