Threading in C# - Eine kleine Einleitung

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ธ.ค. 2024

ความคิดเห็น •

  • @ProgrammierenStarten
    @ProgrammierenStarten  3 ปีที่แล้ว +1

    Lust auf Programmier-Quizze, Aufgaben, Tipps und Impulse? Dann folge uns auch auf Instagram: instagram.com/programmierenstarten/

  • @CodingLab-sz6ro
    @CodingLab-sz6ro 2 ปีที่แล้ว

    Nach wie vor die besten deutschsprachigen C# Tutorials die finden kann. Sehr cooles Video:

  • @shutterspeedy3774
    @shutterspeedy3774 3 ปีที่แล้ว +4

    Das Thema ist spannend. Vor allem der Unterschied zum Task würde mich interessieren. Die Klasse kann man ja ähnlich verwenden. Tolles Video, danke!

  • @beakatzenfreunde
    @beakatzenfreunde 3 ปีที่แล้ว

    Das Video ist wirklich sehr gut um erstmal eine übersicht zu dem Thema zu bekommen vielen Dank. Ich werde die C# Videos weiter verfolgen, diese helfen mir immer sehr :)

  • @FunGuyx0x
    @FunGuyx0x 3 ปีที่แล้ว +5

    Bitte mehr dazu.

  • @Northbergh
    @Northbergh 3 ปีที่แล้ว +2

    Eine Frage zu abort: Auf VisualStudio wird mir angezeigt "Thread.Abort() is obsolete: Thread.Abort() is not supported and throws PlatformNotSupportedException".
    Gibt es da etwas Neues? Auf der Microsoft Seite steht was von "Cancellation Token", aber das verstehe ich nicht wirklich.

  • @geilerfabs7994
    @geilerfabs7994 3 ปีที่แล้ว +8

    Könntest du bitte Mal Sockets mit threading machen ? Fänd ich mega cool

  • @ericbighead8953
    @ericbighead8953 3 ปีที่แล้ว

    Super Video, klar und einfach erklärt! So muss das sein, dann kann jeder schnell und erfolgreich programmieren lernen. Bleib weiter am Ball!

  • @Benexdrake
    @Benexdrake 2 ปีที่แล้ว

    Threading werde ich morgen mit meine Sort Algorithmus Program versuchen, mit panel sieht man wie der Algorithmus sortiert, sieht cool aus, damit es nicht blockiert und ich abbrechen kann, nutze ich Task, async, await und token, war zum lernen ganz nice, aber durch task delay braucht zb der Cocktail Shaker Sort sehr viel länger.
    Und super Video.

  • @codingfox-programmierenler4329
    @codingfox-programmierenler4329 3 ปีที่แล้ว +1

    An C# bin ich auch sehr interessiert, vielen Dank für das tolle Tutorial! 😉👍🏻

  • @pahlkeyannick3591
    @pahlkeyannick3591 3 ปีที่แล้ว +2

    gibt es eine Möglichkeit von einem Thread Objekt eine Methode im main- Thread aufzurufen?

  • @maxmustermann5271
    @maxmustermann5271 3 ปีที่แล้ว +3

    Gibt es eigentlich einen Unterschied zwischen Threading und Multithreading oder sind das Synonyme?

    • @veud
      @veud 3 ปีที่แล้ว

      Ich würde sagen(bin mir net sicher) durch Threading kannst du Multithreadjng benutzen.

    • @LyCrIsLovexD
      @LyCrIsLovexD 3 ปีที่แล้ว +3

      @@veud Threading ist der Oberbegriff quasi wodurch du einzelne Threads erstellen etc. kannst. Wenn dann mehrere davon gleichzeitig laufen, bezeichnet man es als Multithreading. Bezieht sich also primär auf die Nebenläufigkeit mehrerer Threads

  • @scheisserkopf
    @scheisserkopf 3 ปีที่แล้ว

    Du bist mein Held!! Bitte bring das Video über ThreadStart, ist für mich nämlich Prüfungsrelevant XD.
    Und falls es vielleicht kein all zu großer Umstand ist, dabei IsBackground und IsAlive anzusprechen 😅. Bin ein Großer Fan von deinen Videos!!

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +1

      Haha mal sehen was wir dazu noch alles bringen! Danke fürs feedback 😍

  • @james0591
    @james0591 3 ปีที่แล้ว

    Gerne mehr dazu♡

  • @jamesroehl1062
    @jamesroehl1062 3 ปีที่แล้ว +2

    Ich habe das Programm genau nachprogrammiert und wenn Abort() aufgerufen werden soll, kommt: "System.PlatformNotSupportedException: "Thread abort is not supported on this platform.",
    Was habe Ich falsch gemacht?

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +1

      Auf welcher Plattform führst du das Programm aus? Welches Betriebssystem nutzt du? :)

    • @jamesroehl1062
      @jamesroehl1062 3 ปีที่แล้ว

      @@ProgrammierenStarten Ich benutze Windows 10 64 Bit

    • @james0591
      @james0591 3 ปีที่แล้ว

      @@ProgrammierenStarten was kann ich denn tun, um dass zu ändern?muss ich da irgendwo etwas umstellen oder vs neuinstallieren?

  • @jackdaniels2160
    @jackdaniels2160 3 ปีที่แล้ว +1

    Sehr schön erklärt, dafür erst einmal ein großes Danke schön. Könntest du bitte etwas näher in die Materie einsteigen? Es gibt ja auch noch die Task-Methoden. Und was ich auch sehr wichtig finde, sind die Übergaben von Ergebnissen aus einer Thread-Methode zurück in die UI. Das Thema "Threading" ist sicherlich nicht mal ebend erklärt, aber sehr Hilfreich in der einen oder anderen Situation. Gerne auch mehrere Videos hierzu ;)

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +2

      Danke für dein Feedback 🙏 Ja wir werden noch mehr Videos hierzu machen :)

  • @justinw.816
    @justinw.816 3 ปีที่แล้ว +1

    Also ich habe sehr viel Interesse für mehr Threading in C#, ich finde es sehr praktisch und vorteilhaft😼

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +2

      Danke für das Feedback! :)
      Dann lohnt es sich ja Videos dazu zu machen! :)

  • @marceljaeger
    @marceljaeger 3 ปีที่แล้ว

    Hey, was is in euren "Der schnelle Einstieg in Java" enhalten? Ich bin nämlich mit den Java Masterkurs fast durch und würde dann gerne mehr lernen, also z. B auch über Threads in Java und Datenbanken.

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +1

      Hi, der schnelle Einstieg in Java ist ein Einsteiger E-Book. Auf unserer Website findest du dazu alle informationen. Für dich ist dieses aber nicht geeignet, da der Java Masterkurs viel umfassender ist. Das E-Book behandelt nur die gröbsten Grundlagen. Zum Thema Threads planen wir bereits ein oder zwei Module. Ansonsten würde ich dir empfehlen, mit Design Patterns weiter zu machen :) Da wirst du wahnsinnig interessante Konzepte kennenlernen

    • @marceljaeger
      @marceljaeger 3 ปีที่แล้ว

      @@ProgrammierenStarten Oke. Habe erst dannach Informationen über das E Book gefunden. Freue mich schon auf die Module :D. Oke Danke ^^

  • @gregorgunther3910
    @gregorgunther3910 3 ปีที่แล้ว

    Super Video, Dankeschön für eure Mühe.
    Was nicht schlecht wäre, eine Videoreihe zu machen, wo man ein Projekt erstellt von A bis Z

  • @DJone4one
    @DJone4one 3 ปีที่แล้ว

    Wenn ich das richtig verstanden habe, meinst du damit das ein Programmstrang also quasi ein Codeblock ist. Gibt es denn mehr als einmal eine main-methode?

  • @tonisingh5521
    @tonisingh5521 3 ปีที่แล้ว +1

    Schönes Video.
    Laufen die beiden Task wirklich parallel? Ich würde sagen , dass das Programm in kurzen Abständen zwischen den beiden Threads immer hin und her schaltet bzw. jedem eine Exekution Time gibt 🤔.
    Und einen thread zu stoppen mit Abort ist nicht schön, so weit ich mich noch richtig erinnere 🙃.
    Ich würde mich über mehr Content freuen oder gleich eine Videoreihe oder einen Kurs auf eurer Website auch freuen, denn dieses Thema ist echt komplex aber auch spannend.
    Ein Interessantes Beispiel wäre für mich Multithreading mit UI Thread, da es bei mir immer Probleme mit dem Dispatcher gibt 😅🤣.

    • @LyCrIsLovexD
      @LyCrIsLovexD 3 ปีที่แล้ว +1

      1. Sie laufen quasi parallel, also es gibt je nachdem wie dein PC samt CPU aussieht zwar eine minimale zeitliche Differenz aber die ist unfassbar gering.
      2. Ja sollte man eigentlich nicht machen aber sollte im Normalfall eigentlich nichts bei passieren, hatte dabei selber zum Beispiel auch nie Probleme aber kenne die Aussage.
      Wegen UI, was meinst du genau? Meinst du quasi wenn mehrere Threads den Inhalt des UIs verändern?

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +2

      Die Threads können dann wirklich parallel laufen, wenn der Prozessor mehrere Kerne hat. Laufen mehrere Threads auf einem Prozessorkern, dann wird eine Zeitscheibe verwendet um jedem Thread eine gewisse Zeit für die Ausführung zu geben und so wechseln sich die Threads dann ab.
      Einen Thread einfach unkontrolliert mit Abort zu stoppen ist wirklich nicht schön, aber das wollte ich im Zuge dieses Tutorials zeigen, dass man das auch kann! :)

    • @tonisingh5521
      @tonisingh5521 3 ปีที่แล้ว

      @@LyCrIsLovexD
      Bricht man den Thread mit Abord ab, dann wird Normalerweise eine Exception geworfen , die du immer abfangen musst.
      Elegantere Lösung wäre es mit der StopByRequest Methode, indem man ständig den Zustand des neuen Threads abfrage, ob er mit seiner Aufgabe fertig ist.
      Zu 2. Der Zugriff auf UI Elemente mit mehren Thread ist immer ein bissel heikel, da nur der UI Thread Eigenschaften von UI Elementen ändern darf

    • @LyCrIsLovexD
      @LyCrIsLovexD 3 ปีที่แล้ว

      @@tonisingh5521 Ja ich weiß, aber prinzipiell kann man eben über try/catch das ganze so lösen. Mache ich selber auch eher selten aber wenn ich halt nen Thread stoppen muss und dieser eben dauerhaft ohne Zustand läuft, geht es nicht wirklich anders und stört mich dann auch nicht weiter.
      Da gibt es verschiedene Ansätze. Ich habe zum Beispiel bei einem Multithread UI immer alle Dinge welche angezeigt werden in einem static struct drin. Diese kann ich dann von jeder Klasse/jeder Methode und jedem Thread aus bearbeiten. Ist nicht ganz die schönste Sache aber immerhin kann ich somit Dinge "global" verändern.
      Natürlich kann ich dadurch dann nicht direkt auf die UI Elemente zugreifen um die Fontsize von XY zu verändern, aber meistens habe ich sowieso eher die Datenhaltung/Datenaktualisierung im anderen Thread

  • @veud
    @veud 3 ปีที่แล้ว +7

    Sehr interessantes Thema, bin aber leider Threading nicht so ganz vertraut 😅

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +2

      Dafür gibts ja die Videos :D !
      Und natürlich Übung! :)

  • @docandrew2011
    @docandrew2011 3 ปีที่แล้ว +1

    Ja bitte mehr Richtung Threads und await async stuff C#

  • @phantom7001
    @phantom7001 3 ปีที่แล้ว

    Kannst du mir ein Buch für C# empfehlen?

  • @GeistesPlitz
    @GeistesPlitz 3 ปีที่แล้ว

    Cooles Video könntet ihr vielleicht auch noch ein Video dazu machen wie Mann eine XAML Oberfläche in einen extra Thread auslagert oder von unterschiedlichen Thread steuern kann?

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว

      Danke für dein Feedback 🤩 mal sehen ob dazu in zukunft was kommt 👍

  • @Alecs08
    @Alecs08 3 ปีที่แล้ว +2

    3

  • @zepenthium
    @zepenthium 3 ปีที่แล้ว

    Ein gutes Beispiel, wofür ich Threads auch immer verwende ist: ein TCP und UDP Server. So trennt man die beiden Protokolle und kann beide Listener nebenbei laufen lassen zB

  • @hansjurgenharthausen5236
    @hansjurgenharthausen5236 ปีที่แล้ว

    Schönes Video. Leider wird das Thema Threading in eurem C# Msterkurs völlig ausgelassen! Wäre schön, wenn es wengstens hier weiter vertieft würde.

  • @maxmustermann5271
    @maxmustermann5271 3 ปีที่แล้ว +1

    2.

  • @Alecs08
    @Alecs08 3 ปีที่แล้ว +2

    Könntest du mal ein Video zeigen wie man in Roblox (Videospiel Plattform) ein Auto Spiel erstellt

    • @Alecs08
      @Alecs08 3 ปีที่แล้ว +1

      (Und erfolgreich Programmiert)

    • @veud
      @veud 3 ปีที่แล้ว +1

      @@Alecs08 Frage aus Neugier : Wie alt bist du? (musst du nicht sagen, nur wenn du willst)

    • @blacklight8932
      @blacklight8932 3 ปีที่แล้ว +1

      Man merkt, dass du sehr jung bist

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +2

      Roblox nutzt soweit ich weiß die Skriptsprache LUA. Dazu gibt es auf TH-cam viele Tutorials (auch in Bezug auf den Roblox-Editor).
      Wir haben solche Tutorials aktuell leider nicht geplant, da wir viele andere Themen auf der Liste stehen haben die für uns persönlich aktuell eine höhere Priorität haben.

  • @realmcafee
    @realmcafee 3 ปีที่แล้ว

    mehr

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว +1

      danke für dein Feedback. Geht definitiv noch weiter :)

    • @realmcafee
      @realmcafee 3 ปีที่แล้ว

      @@ProgrammierenStarten dankeschön / freue mich

  • @benjaminschmidties9989
    @benjaminschmidties9989 3 ปีที่แล้ว +1

    1.

    • @ProgrammierenStarten
      @ProgrammierenStarten  3 ปีที่แล้ว

      :D

    • @benjaminschmidties9989
      @benjaminschmidties9989 3 ปีที่แล้ว

      @@ProgrammierenStarten kann ich threading effizient in einem projekt anwenden, bei der ich schnell daten vom arduino an den pc schicke und die messwerte als graph wia auf einem oszilloskop darstelle? Wenn ja wie?

    • @LyCrIsLovexD
      @LyCrIsLovexD 3 ปีที่แล้ว

      @@benjaminschmidties9989 Ja sollte ganz gut gehen.
      Für den Graphen einfach mal nach LiveChart suchen, damit kannst du Graphen etc. sehr effizient und einfach erstellen und auch im Verlauf der Zeit bearbeiten. Die Daten solltest du vielleicht über eine API vom Arduino abrufen können, ggf. über einen Webserver welcher im eigenen Netzwerk auf dem Arduino läuft (ggf. ESP8266 / D1 Mini in Betracht ziehen als Arduino).
      Somit 1 Thread für UI und 1 Thread für den Abruf der Messwerte über die API alle x:Sekunden.