Python Tutorial - Multithreading Queues

preview_player
Показать описание

_Discord:_

_Unterstützt mich - Danke!:_
Рекомендации по теме
Комментарии
Автор

ich freue mich immer wie ein kleines kind, wenn ich ein informatik tutorial suche, und sehe es gibt eins von Morpheus

SeriousCee
Автор

hey ich mag deine videos, echt. Aber BITTE mach doch mal nen dunkleren Hintergrund (IDE theme) damit ich nicht erblinde und die Schrift grösser damit man es vielleicht mal lesen kann.

mfrederikson
Автор

Eine richtig schöne Implementierung finde ich, es ähnlich des gängigen Software-Designs von Lab-View zu benutzen.

Und zwar für jede Aufgabe wie z.B. GUI, Networking, Logik, Kommunikation usw. einen eigenen Thread mit jeweils einer eigenen Schleife und einer eigenen Statemachine zu entwerfen.
Jede Statemachine ist mit einem enum steuerbar und jeder Thread erhält eine eigene Queue die ein definiertes Message-Cluster erwartet(in python weiss ich noch nicht wie ich das Implementiere, vielleicht einfach über ein Dicionary).
Das Message Cluster enthält folgende Informationen:
1. Enum-Wert der Statemachine des Empfänger-Threads
2. Name des Threads, der die Nachricht sendet
3. die dazugehörige Message als bliebigen Dateityp. Die Statemachine weiß dann welche Informationen sie erwartet.

Somit kann man Ressourcen super aufteilen, hat übersichtliche Statemachines für jede Aufgabe und die Queues übernehmen den Datenaustausch. Man kann einfach von jedem Bereich im Code, Daten an jeden Thread senden und hat eine strikte Trennung der einzelnen Software Partien :)

rupertbauernfeind
Автор

Du hast in dem Teil zu und dem Benchmark dazu erwähnt, dass beim Multithreading nur 1 Kern der CPU genutzt wird, also faktisch 2 Threads, die maximal parallel laufen können (mit Hyperthreading). Hier sagst du aber, dass alle Kerne genutzt werden - was ist nun richtig?
Und würde das in diesem Falle Multiprocessing nicht obsolete machen?
(Ich hoffe, der Kommentar wird noch gelesen, obwohl das Video schon etwas älter ist :P)

Kangsemo
Автор

Wie verhält es sich mit continous threads? Was wäre best practice dafür? Ich will kontinuierlich Daten (10 message pro sekunde) senden und der thread sollte durchlaufen.
Klasse Videos btw

scfog
Автор

wie kann ich mir ausgeben lassen ob in einer queue noch ein element ist oder nicht

outdoorbene
Автор

Ist dir bewusst, dass es in Python nicht möglich ist, dass verschiedene Threads gleichzeitig laufen?

Threads machen nur Sinn, wenn man in externen C-Code via ctypes called. Zum Beispiel Async Netzwerk über threads oder Disk IO kann sinnvoll sein.
Aber an sich arbeitet immer nur ein Thread gleichzeitig an Python code.

ProjectPoltergeist
Автор

Du arbeitest oft mit Workern. Was macht ein worker?

samysabi