взять 2 код и это вся работа?
Да верно, наоборот подписал. (Исправил в пред-идущим посте).
Первый пример не разрешает второй процесс пока первый не выполнится полностью.
Во втором примере процессы чередуются. Точнее выполнятся будут одновременно если железо позволяет, чередоваться будут при работе на одном ядре ЦП. Но для этого может быть нужно будет код доработать.
Можно взять первый пример.
Вся это работа или нет, решайте сами.
Если это лаба тогда да, этого будет достаточно.
Для курсовой работы этого примитива не достаточно. Нужно усложнять код.
Учитывая
Первый пример можно даже упростить до такого ))
import random
import time
def run_proc(name):
time_to_sleep = random.randint(1, 4) / 4
time.sleep(time_to_sleep)
print(
"{} worked for {} seconds"
"".format(name, time_to_sleep)
)
run_proc('process 1')
run_proc('process 2')
Наверное нет.
Тогда это уже действительно будет простое последовательное выполнение.
Так а в первом примере по сути ж и есть оно.
Там приведены примеры асинхронного выполнения.
да,нужно именно для курсовой,я тоже смотрю,как-то слишком просто
Тогда здесь работает метод как сказал Алекс:
Над курсовой работой нужно работать. Курсовая работа это производная от работать.
Мне например будет не интересно, нет необходимости в данное время писать на Python нечто подобное.
так а я что выше писал,что летом из-за работы времени не было,а сейчас день-два и сдавать надо уже
на фриланс размещал,0 отклика,больше месяца прошло
Так а нам что, должно было как-то впечатлить?
Писал выше, не интересно.
Повезло бы в случае, если в данное время кто работал бы над похожей задачей и поделился бы. И то не факт.
Значит формулировка не внятная, или объявленный бюджет не соответствует трудовым затратам.
Посмотрите на студенческих биржах, там зачастую уже есть готовые решения. Или похожие которые доработают за оплату.
P. S.
В свое время обучения один раз обращался к фрилансерам.
А в остальном делал все самостоятельно, цель была обучение самого себя.
P. P. S.
Python не моя стихия.
Но даже исходя из этого, лабу приведенную выше превратил бы в курсовую работу за две недели с нолевыми знаниями темы работы. Неделя на описательную часть, неделя на код.
были бы в доступе ещё эти 2 недели)
можно что-то подобного.только по моему заданию сделать?
Чот похоже таки были ))
Что значит “подобное”?
Формально это и есть пример невытесняющей многозадачности, правда только случая, когда процессы забили на передачу управления другим и все тупо ждут полного завершения текущего процесса, чтоб начать свою работу.
Ну а про то, что это не похоже на курсовую, выше уже обсуждалось.
def CreateProc(quant):
description = {
'id': len(desc_list),
'quant': quant
}
desc_list.append(description)
def start():
print('start')
max_quant = 0
flag = 0
for x in desc_list:
if x['quant'] > max_quant:
max_quant = x['quant']
print('Количество квантов ', max_quant)
while flag - 1 != max_quant:
flag+=1
print('__________ИТЕРАЦИЯ №',flag,'__________')
for x in desc_list:
x['quant'] -= 1
print('Выполнение процесса №', x['id'], 'Осталось квантов - ', x['quant'])
if x['quant'] == 0:
print('до удаления', desc_list)
desc_list.remove(x)
print('Удаляем', x)
print('После удаления', desc_list)
#print('Процесс №', x['id'], ' завершен')
print('_______________________________')
while True:
command = input('>>> ')
if command == 'add':
quant = input('Введите квант >>> ')
CreateProc(int(quant))
if command == 'desc_list':
for x in desc_list:
print(x)
if command == 'start':
start()
есть ещё вот такой код,более расширенный,его переработать под вытесняющую многозадачность можно?
освежить память так сказать.просто очень срочно нужно тоже самое.только для вей вытесняющей многозадачности
Вам подсказывают, и без толку
так мне вытесняющая многозадачность нужна