Funktionen asynchron ausführen – Modernes C++

Nachdem wir im letzen Artikel die Grundlagen von Threads und Multithreading kennengelernt haben, wollen wir uns in diesem Artikel mit asynchronen Funktionen beschäftigen. Dafür hat c++ einem header namens future im Gepäck. Dieser header enthält die Klasse std::future und die Funktion std::async. Wir inkludieren den Header und erstellen eine Funktion, die wir asynchron ausführen wollen.…

Einführung in Multithreading – Modernes C++

Was ist multithreading? Multithreading ist die Fähigkeit eines Prozessors, mehrere Threads gleichzeitig auszuführen. Ein Thread ist ein Pfad der Ausführung, der es einem Prozessor ermöglicht, mehrere Aufgaben gleichzeitig auszuführen. Die meisten Prozessoren können mehrere Threads gleichzeitig ausführen. Beispiel mit einem (zusätzlichem) Thread In diesem Beispiel wird ein zusätzlicher Thread gestartet, der eine Funktion ausführt. Um…

Systeme

Hier habe ich über Prinzipien geschrieben. Prinzipien sind aber nur der erste Schritt auf dem Weg zum Erfolg. Meiner Erfahrung nach beginnt der Spaß erst, wenn man anfängt Prinzipien in Systemen zu implementieren. Was sind überhaupt Systeme? Systeme sind für mich Regeln, Verhaltensmuster, Gewohnheiten, die mich langfristig voranbringen und die mit meinen Prinzipien neudeutsch “aligned”…

Prinzipien

Das Wort “Prinzipien” klingt so konservativ, ist es noch zeitgemäß Prinzipien zu haben? Mir kommt dann immer gleich das Wort “Prinzipienreiter” in den Kopf. Aber ist es vielleicht auch gut in einer VUCA-Welt ein paar Prinzipien zu kennen, die einem Orientierung geben können? Über die Jahre haben sich bei mir einige Prinzipien herauskristallisiert, an denen…

How to test your code on multiple platforms with nox

Motivation Maintaining python packages for more than one python version can be a bit of a hassle In https://creatronix.de/how-to-use-tox-to-test-your-code-on-multiple-platforms/ I’ve introduced tox. An interesting alternative is nox(!) due to its programmatic approach Installation pip install nox Example Linting Let’s take a minimum viable example. In our main.py we intentionally omit the newline at the end…