Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.04.2019, 20:45   #1
Abdura
Новичок
Джуниор
 
Регистрация: 24.04.2019
Сообщений: 1
Восклицание Mutex

Код:
from multiprocessing import Process, Queue
import os,threading
q = Queue()
mutex = threading.Lock()
 
mutex.acquire()
 
pid = os.fork()
if pid == 0:
    mutex.acquire()#block process
 
    a = q.get()
    Max = max(a, key = len)
    q.put(Max)
 
    mutex.release()
else:
    str1 = input()
    str2 = input()
    str3 = input()
 
    q.put([str1,str2,str3])
 
    print("Процесс родитель передал три строки:",[str1,str2,str3] )
    mutex.release()
 
    mutex.acquire()
    b = q.get()
 
    print("Процесс потомок вернул самую длинную строку:",b)
    mutex.release()
Есть процесс, который создает ребенка. Задача ребенка получить от родителя 3 введенные строки и найти максимальную из них и передать обратно родителю. Реализовано с помощью очередей сообщений. Преподаватель сказал использовать мьютексы, для безошибочный работы кода. Но ребенок просто перестал выполнять свой код. Как быть?
Abdura вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
mutex goluzov Общие вопросы C/C++ 3 06.01.2014 09:21
winapi, использование Mutex'ов LockHeart Win Api 4 24.11.2011 14:45
Блокировки mutex в Linux papos Помощь студентам 0 25.04.2011 00:44
Использование mutex Sparky Помощь студентам 1 29.05.2010 16:24