Форум сайта python.su
0
Всем привет! подскажите пожалуйста как сделать многозадачность или как правильно сказать …
ну что бы одновременно делала несколько задач …
что нашел в интернете - “Параллельная многозадачность
threading - встроенный в python модуль для реализации многозадачности с помощью тредов (объекты языка, выполняющиеся в одном процессе). Минусы подхода в том, что вы не можете загрузить вычислениями более одного ядра.
multiprocessing - встроенный в python модуль для реализации многозадачности с помощью процессов
celery - навороченная реализация очереди задач, поддерживающая различные бэкенды для хранения этой самой очереди задач.
RQ - легковесная очередь задач, использующая redis”
полистав нихера не понял …(((
может у кого - нибудь имеется хотя бы приблизительный примерчиу…
Офлайн
9
Марк Лутц. Программирование на Python, кажется в первом томе написано про многозадачность.
Офлайн
0
alexsisща посмотрю, спасибо!
кажется в первом томе написано про многозадачность.
Офлайн
33
alexsis
Марк Лутц. Программирование на Python, кажется в первом томе написано про многозадачность.
Igorsk
Всем привет! подскажите пожалуйста как сделать многозадачность или как правильно сказать …
Офлайн
3
Igorsk
Кури threading, тебе за глаза хватит, остальное потом, если захочешь…
Офлайн
221
Iskatelкак вы такое можете говорить не зная его задач? Если у него CPU нагруженные задачи, то с ним еще медленнее будет.
Кури threading, тебе за глаза хватит, остальное потом, если захочешь…
Офлайн
0
Budulianin
мне нужно что бы одновременно работало запись видео -
[code python]import cv2
# find the webcam
capture = cv2.VideoCapture(0)
# video recorder
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter('output.avi',fourcc, 20.0, (640,480))
# record video
while (capture.isOpened()):
ret, frame = capture.read()
if ret:
out.write(frame)
cv2.imshow('Video Stream', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
capture.release()
video_writer.release()
cv2.destroyAllWindows()
[/code]
import pyaudio import wave CHUNK = 1024 FORMAT = pyaudio.paInt16 CHANNELS = 2 RATE = 44100 RECORD_SECONDS = 5 WAVE_OUTPUT_FILENAME = "output.wav" p = pyaudio.PyAudio() stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK) print("* recording") frames = [] for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)): data = stream.read(CHUNK) frames.append(data) print("* done recording") stream.stop_stream() stream.close() p.terminate() wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(p.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close()
Офлайн
221
Для начала попробуйте модуль threading, может его хватит - задача сделать два дополнительный потока в котором будет выполняться соответствующие функции. Примеров в интернете навалом, есть офиц.документация, есть книга Бизли “Python Подробный справочник”, где частично тоже самое но на русском. Если надо - разберетесь.
Офлайн
0
JOHN_16
Понял, большое спасибо!
Офлайн