Kolejka wieloprocesowa Pythona

Kolejka wieloprocesowa Pythona

Najważniejszym elementem struktury danych jest kolejka. Kolejka struktury danych „Pierwsza, pierwsza, która jest podstawą wieloprocesowego Pythona, jest porównywalna. Kolejki są dostarczane do funkcji procesu, aby umożliwić proces gromadzenia danych. Pierwszy element danych, który zostanie wyeliminowany z kolejki, jest pierwszym elementem, który zostanie wprowadzony. Korzystamy z metody „put ()” kolejki do dodania danych do kolejki i jej metody „get ()” do pobierania danych z kolejki.

Przykład 1: Za pomocą metody Queue () do utworzenia kolejki wieloprocesowej w Pythonie

W tym przykładzie tworzymy kolejkę wieloprocesową w Pythonie za pomocą metody „queue ()”. Wieloprocesowy odnosi się do użycia jednego lub więcej procesorów w systemie do wykonywania dwóch lub więcej procesów jednocześnie. Multiprocessing, skonstruowany moduł w Pythonie, ułatwia przełączanie między procesami. Musimy zapoznać się z właściwością procesową przed pracą z wieloterapią. Wiemy, że kolejka jest kluczowym elementem modelu danych. Standardowa kolejka danych, która jest zbudowana na pomyśle „pierwszego w pierwszym miejscu”, a wieloprocesowa Python to dokładne odpowiedniki. Ogólnie rzecz biorąc, kolejki przechowuje obiekt Pythona i ma kluczowe znaczenie dla przesyłania danych między zadaniami.

Narzędzie „Spyder” służy do wdrożenia obecnego skryptu Pythona, więc po prostu zacznijmy. Musimy najpierw zaimportować moduł wieloprocesowy, ponieważ uruchamiamy skrypt wieloprocesowy Python. Zrobiliśmy to, importując moduł wieloprocesowy jako „M”. Używając ich.Technika Queue () ”, wywołujemy wieloprocesową metodę„ Queue () ”. Tutaj tworzymy zmienną o nazwie „Kolejka” i umieszczamy w niej metodę wieloprocesową „Queue ()”. Jak wiemy, że kolejka przechowuje przedmioty w kolejności „pierwszego, pierwszego, pierwszego” element, który dodajemy pierwszy, został najpierw usunięty. Po uruchomieniu kolejki wieloprocesowej, następnie nazywamy metodę „print ()”, przekazując stwierdzenie „Istnieje kolejka wieloprocesowa” jako jego argument na ekranie. Następnie, ponieważ przechowujemy skonstruowaną kolejkę w tej zmiennej, drukujemy kolejkę, przekazując zmienną „kolejkę” w nawiasie metody „print ()”.


Poniższy obraz pokazuje, że kolejka wieloprocesowa Pythona jest teraz konstruowana. Instrukcja drukowania jest pokazana pierwsza. Po skonstruowaniu tej kolejki wieloprocesowej w wyznaczonym adresie pamięci, można ją użyć do przesyłania odrębnych danych między dwoma lub więcej działającymi procesami.

Przykład 2: Wykorzystanie metody „qSize ()” do określenia wielkości kolejki wieloprocesowej w Pythonie

W tym przypadku określamy rozmiar kolejki wieloprocesowej. Aby obliczyć rozmiar kolejki wieloprocesowej, używamy metody „qSize ()”. Funkcja „qSize ()” zwraca rzeczywisty rozmiar kolejki wieloprocesowej Python. Innymi słowy, ta metoda zawiera całkowitą liczbę elementów w kolejce.

Zacznijmy od zaimportowania modułu wieloprocesowego Pythona jako „M” przed uruchomieniem kodu. Następnie, używając „m.polecenie kolejki () ”, wywołujemy funkcję wieloprocesową„ queue () ”i umieszczamy wynik zmiennej„ kolejki ”. Następnie, stosując metodę „Put ()”, dodajemy elementy do kolejki w następującym wierszu. Ta metoda służy do dodania danych do kolejki. Dlatego nazywamy „kolejką” metodą „put ()” i dostarczamy liczby liczb całkowitych jako element w jej nawiasie. Liczby, które dodajemy, to „1”, „2”, „3”, „4”, „5”, „6” i „7” za pomocą funkcji „put ()”.

Ponadto, używając „kolejki” w celu uzyskania wielkości kolejki wieloprocesowej, nazywamy „qSize ()” z kolejką wieloprocesową. Następnie, w nowo utworzonej zmiennej „Wynik”, zapisujemy wynik metody „qSize ()”. Następnie nazywamy metodę „print ()” i przekazujemy instrukcję „Rozmiar kolejki wieloprocesowej jest” jako jej parametr. Następnie wywołujemy zmienną „wynik” w funkcji „print ()”, ponieważ rozmiar jest zapisywany w tej zmiennej.


Obraz wyjściowy ma wyświetlany rozmiar. Gdy używamy funkcji „put ()”, aby dodać siedem elementów do kolejki wieloprocesowej i funkcji „qSize ()”, aby określić rozmiar, wyświetlany jest wieloprocesowy rozmiar „7”. Instrukcja Input „Rozmiar kolejki wieloprocesowej” jest pokazywana przed rozmiarem.

Przykład 3: Za pomocą metody „put ()” i „get ()” w kolejce wieloprocesowej Python

W tym przykładzie stosuje się metody kolejki kolejki „put ()” i „get ()” z kolejki wieloprocesowej Python. W tym przykładzie opracowujemy dwie funkcje zdefiniowane przez użytkownika. W tym przykładzie definiujemy funkcję, aby utworzyć proces, który wytwarza „5” losowe liczby całkowite. Używamy również metody „put ()”, aby dodać je do kolejki. Metoda „put ()” służy do umieszczania elementów w kolejce. Następnie, aby odzyskać liczby z kolejki i zwrócić ich wartości, piszemy inną funkcję i wywołujemy ją podczas procedury. Używamy funkcji „get ()” do pobierania liczb z kolejki, ponieważ metoda ta jest używana do pobierania danych z kolejki, którą wstawiamy za pomocą metody „Put ()”.

Zacznijmy wdrażać kod teraz. Najpierw importujemy cztery biblioteki, które składają się na ten skrypt. Najpierw importujemy „Sleep” z modułu czasu, aby opóźnić wykonanie przez pewien czas mierzone w sekundach, a następnie „losowe” z modułu losowego, który jest używany do generowania liczb losowych, a następnie „proces” z wieloprocesowej, ponieważ ten kod tworzy proces i wreszcie „kolejka” z multiprocessing. Początkowo konstruując instancję klasową, można zastosować kolejkę. Domyślnie ustanawia to nieskończoną kolejkę lub kolejkę bez maksymalnego rozmiaru. Ustawiając opcję maksymalnego rozmiaru na liczbę, która jest większa niż zero, możliwe jest stworzenie z ograniczeniem wielkości.


Definiujemy funkcję. Następnie, ponieważ ta funkcja jest zdefiniowana przez użytkownika, podajemy mu nazwę „funkcja 1” i przekazujemy termin „kolejka” jako jego argument. Następnie wywołujemy funkcję „print ()”, przekazując ją „Builder: Burn . Funkcja drukowania Pythona ma unikalną opcję o nazwie Flush, która pozwala użytkownikowi wybrać, czy buforować to wyjście. Następnym krokiem jest wygenerowanie zadania. Aby to zrobić, używamy „For” i tworzymy zmienną „M” i ustawiamy zakres na „5”. Następnie, w następnym wierszu, użyj „Random ()” i przechowuj wynik w stworzonej przez nas zmiennej, która jest „wartością.”Wskazuje to, że funkcja kończy teraz pięć iteracji, przy czym każda iteracja tworzy losową liczbę całkowitą od 0 do 5.

Następnie, w poniższym kroku, nazywamy funkcję „sleep ()” i przekazujemy argument „wartość”, aby opóźnić część przez określoną liczbę sekund. Następnie nazywamy „kolejkę” metodą „Put ()”, aby zasadniczo dodać wartość do kolejki. Użytkownik jest następnie informowany, że nie ma dalszej pracy, wywołując „kolejkę.Metoda put () ”i przekazywania wartości„ brak ”. Następnie uruchamiamy metodę „print ()”, mijamy instrukcję „Builder: Ready” wraz z „Flush” i ustawiaj ją na „true”.


Teraz definiujemy drugą funkcję „funkcję2” i przypisujemy słowo kluczowe „kolejkę” jako jej argument. Następnie wywołujemy funkcję „print ()” podczas przekazywania raportu „Użytkownik: Uruchamianie” i „Flush”, który jest ustawiony na „true”. Rozpoczynamy działanie „funkcji2” przy użyciu prawdziwego warunku, aby usunąć dane z kolejki i umieścić je w nowo utworzonej zmiennej „elementu”. Następnie używamy warunku „jeśli”, „pozycja jest brak”, aby przerwać pętlę, jeśli warunek jest prawdziwy. Jeśli żaden element nie jest dostępny, zatrzymuje się i prosi użytkownika o jeden. Zadanie zatrzymuje pętlę i kończą w tym przypadku, jeśli element uzyskany z wartości jest zerowy. Następnie, w poniższym etapie, wywołujemy funkcję „print ()” i podajemy do niej raport „użytkownik: gotowy” i „fufle = true”.


Następnie wprowadzamy główny proces przy użyciu „if-name = main_”. Tworzymy kolejkę, nazywając metodę „kolejki ()” i przechowując ją w zmiennej „kolejki”. Następnie tworzymy proces, wywołując funkcję użytkownika „funkcja 2”. W tym celu nazywamy klasę „procesu”. Wewnątrz przekazujemy „target = funkcja2”, aby wywołać funkcję w procesie, przekazujemy argument „kolejkę” i przechowywać ją w zmiennej „user_process”. Następnie proces rozpoczyna się od wywołania metody „start ()” ze zmienną „proces_ użytkownika”. Następnie powtarzamy tę samą procedurę wywoływania „funkcji1” w procesie i umieszczamy ją w zmiennej „proces budowniczego”. Następnie wywołujemy procesy metodą „łączenia ()”, aby czekać na wykonanie.


Teraz, gdy jest przedstawiony, możesz zobaczyć instrukcje obu funkcji w wyjściu. Wyświetla elementy, które dodaliśmy za pomocą „put ()” i „get ()” za pomocą odpowiednio metod „get ()”.

Wniosek

W tym artykule dowiedzieliśmy się o kolejce wieloprocesowej Pythona w tym artykule. Wykorzystaliśmy podane ilustracje. Początkowo opisaliśmy, jak utworzyć kolejkę w Python Multiprocessing za pomocą funkcji Queue (). Następnie zastosowaliśmy metodę „qSize ()” do określenia kolejki . Zastosowaliśmy również metody kolejki () i get (). Klasa snu modułu czasu i losowa klasa modułu losowego zostały omówione w ostatnim przykładzie.