Threading in der Programmiersprache C

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi,

    naja ...

    nicht den Prozess beenden und neu starten, sondern den Prozess dahingegend beeinflussen. Kann man das mit system(); ? As Far As I Know, nein. Das alleine ist für zumindest mich bereits ein "echter Vorteil gegenüber system();".

    das setzt allerdings dann voraus, dass der aufgerufene Prozess das auch unterstützt ... also steuerung über stdin ... und dass der TO das will. Dazu hat Bernd666 aber imho bisher nichts gesagt. Deshalb rate ich ihm diesbezüglich auch nichts, weil das mit der Fragestellung nix zu tun hat und ich nicht alle, die was programmieren, missionieren will.

    In meiner Welt vermeide ich sowohl das eine wie das andere ... wenn andere das verwenden (wollen) - naja, warum nicht?


    cu,

    -ds-

  • Hallo Manul,

    Dann solltest Du sie aber auch belegen. Die popen-man page ist zumindest anderer Auffassung:

    hm ... und wer liegt richtig? Wer hat erfahrungsgemäß belastbareres Wissen?

    Und wer glaubt im Gegensatz dazu, immer Recht zu haben - und setzt es dann auch lautstark durch? Bis aber auch alle Fakten dagegen sprechen? Fakten, die vorher zwar auch schon da waren, aber mit dem Mantel des Schweigens bedeckt wurden.

    Ich kann mich ganz dunkel erinnern, mal was zu dem Unsinn fallen gelassen zu haben, innerhalb von Pseudo-Interrupt-Routinen umfangreiche Aktionen wie formatierte Ausgaben von Fließkommazahlen, komplizierte Berechnungen bis hin zum Start und Abschluss externer Anwendungen ablaufen zu lassen. Haben damals viele gemacht (wenn auch nur in Python). Mann, was haben dreamshader, wenige andere und ich da Prügel einstecken müssen! Irgendwann hat sich das dann aber auch als "wahr" herausgestellt, denn der in den Pseudo-Interrup-Routinen entschlackte Code lief plötzlich ohne Absturz nach definierter Laufzeit.

    Heute wird allein deshalb sogar in Python-Kreisen von "zuviel" im Pseudo-Interrupt abgeraten. :conf: raten passt in dem Zusammenhang übrigens ganz gut.

    Lass ihn poltern. Was in Assembler, C und etlichen anderen Programmiersprachen seit Jahrzehnten etabliert ist und bis ins Betriebssystem Eingang gefunden hat, kann so schlecht nun nicht gerade sein.

    Nur weil jemand versucht, solche Ansichten in Python zu etablieren, müssen wir bei der Programmierung in C noch lange nichts übernehmen, was dem konträr gegenübersteht.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Wenn nicht weiß ich wirklich nicht worüber wir uns hier überhaupt unterhalten...

    M.E. über diese Aussage:

    generell soweit es geht system(); vermeiden, da jeder system(); Aufruf in einer separaten Shell ausgeführt wird.

    Die impliziert in diesem Kontext, daß das bei popen nicht der Fall wäre – und das ist eben falsch. Daß es durchaus andere Gründe geben kann, lieber popen statt system zu verwenden steht sicherlich außer Frage. Wobei, wenn ich mich recht erinnere, mpg123 bei der Kommunikation mit STDIN per pipe etwas eigen ist, ich bin also nicht sicher, ob's in diesem Fall wirklich Vorteile hat.

  • naja, warum nicht?

    Entschuldigt das ich auch hinters Brett-vorm-Kopf hinaus gucke... Überlasst es doch einfach den betreffenden die Äußerung zu hinterfragen?

    Ihr interpretiert (mal wieder) etwas in meinen Beitrag hinein und regt euch dann künstlich darüber auf... Am besten wirft mir gleich noch jemand vor den Thread damit getötet zu haben, wie üblich ...

    Es ist halt meine Meinung, lieber popen(); anstatt system(); zu verwenden. Es gibt keinen Nachteil durchs verwenden von popen(); - wie ihr ja eigentlich auch selbst schon geäußert habt ...

    Mir ist das zu blöd - klinke mich daher aus.


    //EDIT: Manul Die Räumliche Trennung sowie Gliederung der Sätze wird missachtet? Ok, dann gehen wir also nun dazu über Text von unten nach oben sowie querfeldein zu lesen...

    Erst schrieb ich das er möglichst system(); vermeiden solle. Ist das falsch?

    Dann schrieb ich das system(); jedes mal eine neue Shell öffnet. Ist das falsch?

    Dann schrieb ich er solle lieber den Source inkludieren. Ist das falsch?

    Und zuletzt schrieb ich, wenn er trotzdem unbedingt externe Aufrufe machen will, solle er lieber popen(); nutzen.


    :2cents: Ciao.

  • Hallo meigrafd,

    Und nun denk mal noch weiter... Wenn man ein Programm zum abspielen startet und etwas anderes abspielen will, was macht man dann sinnvollerweise? Ich würde dann nicht den Prozess beenden und neu starten, sondern den Prozess dahingegend beeinflussen. Kann man das mit system(); ? As Far As I Know, nein. Das alleine ist für zumindest mich bereits ein "echter Vorteil gegenüber system();".

    Rät hier jemand lieber system(); anstatt popen(); zu verwenden :?: Wenn nicht weiß ich wirklich nicht worüber wir uns hier überhaupt unterhalten...

    Ich schicke da zwei Signale. Und dann läuft das Programm so weiter, wie ich das haben will - nur dass der Prozess niemals gekillt oder gar neugestartet zu werden brauchte. Wie gesagt, das Stichwort IPC wurde bereits ins Spiel gebracht.

    Anscheinend spielt es aber einen großen Unterschied in der Programmierung. Weiß man, dass ein Programm bei einem Absturz bei nächster Gelegenheit über crontab eh wieder angestoßen wird, dann muss das Programm nicht mal bis zur zweiten Ereignisbehandlung durchhalten.

    Will man aber Anwendungen entwickeln, die autonom und zuverlässig ihre Aufgaben erfüllen, ohne negativ aufzufallen, dann ist ein wenig mehr Grips in Ressourcenplanung [der Stapelspeicher ist vieles - aber weit von Unendlich entfernt!], Kommunikation und Zusammenspiel etc. zu investieren.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • *seufz* Wir sprechen also plötzlich von allgemeiner Programmierung? Zu welchem Zeitpunkt sind wir derart abgedriftet dass es plötzlich eine Grundsatzdiskussion wurde?

    Hast du Andreas schon mal ein MP3 File abgespielt und dann mpg123 gekillt?

    Aber halt stop - ich hab ja im Gegensatz zu Dir nicht "erfahrungsgemäß belastbareres Wissen", daher klinke ich mich nun wirklich aus - das Niveau ist mir zu niedrig.

  • Nett,

    Entschuldigt das ich auch hinters Brett-vorm-Kopf hinaus gucke... Überlasst es doch einfach den betreffenden die Äußerung zu hinterfragen?

    jetzt habe ich also schon ein Brett vor dem Kopf, nur weil ich anderen nicht etwas vorschreiben/aufs Auge drücken will, was gar nicht gefragt war?

    Da hat Bernd666 sich was ausgetüftelt und auch schon eine Vorstellung, wie das funktioniert. Er war sich nur wegen der Sichtbarkeit nicht im Klaren.

    Nachdem er seine Idee hier etwas ausführlicher beschrieben hat, wird seine Idee schon niedergebügelt, nur weil jemand meint, er weiss es besser.

    Lasst doch um Himmelswillen den Leuten ihre Kreativität und antwortet auf die Fragen des TO anstatt den Weltverbesserer raushängen zu lassen :fies:

    //EDIT: man muss die Leute nicht implizi entmündigen ... die melden sich schon von selbst, wenn sie eine andere/bessere Lösung wollen

    Mann eh ... es ist immer wieder dasselbe ...

    ciao,

    -ds-

  • Nett,

    jetzt habe ich also schon ein Brett vor dem Kopf, nur weil ich anderen nicht etwas vorschreiben/aufs Auge drücken will, was gar nicht gefragt war?

    Paradebeispiel eurer Fehlinterpretation meiner Beiträge :dau1:

    Wo steht das DU ein Brett vorm Kopf hättest? Ich habe geschrieben das ICH hinters Brett-vorm-Kopf gucke, also MEIN Brett-vorm-Kopf. Wie sollte jemand anderes hinters Brett eines anderen hinaus gucken? Da wo Sein Kopf ist passt Mein Kopf nicht hin, rein physikalisch scho nicht :-/


    ...wer hier was oder wen niederbügelt ist die große Frage... Seit 10 Beiträgen reitet IHR auf einen meiner Beiträge herum, nur weil ich persönlich lieber dies statt jenes verwende.... Respekt. Unfassbar was hier wieder abgeht


    PS: "lieber" impliziert nicht "besser". Dass das zwei verschiedene Bedeutungen hat brauchen wir hoffentlich nicht ausdiskutieren?

  • Ist das jetzt dein Ernst?

    Im Grunde steht das da, nur der letzte Teil nicht, weil ich zu dem Zeitpunkt annahm Bernd666 würde es falls nötig schon selbst hinterfragen, wenn er nicht sogar selber ohne zu fragen recherchiert und es herausfindet ...


    "... es ist immer wieder dasselbe ..." (c) dreamshader

  • Natürlich ist das mein Ernst, dass Du nicht ganz unschuldig daran bist, dass das wieder mal entgleist ist.

    Obige Aussage hätte imho niemand mokiert ... im Gegenteil.

    Dein "Schreibstil", wenn Du das mal zurückverfolgst, ist unklar und provokativ ... da steckt imho schon auch Kalkül dahinter, denn:

    "... es ist immer wieder dasselbe ..." (c) dreamshader

    ciao,

    -ds-

  • Jau, jetzt stell mich noch als Buhman dar ... Wer hier (zuerst) provokante Beiträge macht(e) ist Andreas, und deine "es ist immer wieder dasselbe" Zeile war ebenso provokant wie der Entmündigungsvorwurf oder das ich/ihr den Leuten die Kreativität nehmen würde oder an einer Entgleisung schuld wäre... wer austeilt muss auch einstecken können.

    Ich hab doch nur gesagt dass ich dies statt jenes lieber nutzen würde...

    Beitrag#29 ist Haarspalterei und macht inhaltlich keinen Unterschied. Ihr regt euch nur gerne auf und verlangt von anderen sich absolut eindeutig ausdrücken zu müssen, selbst mit allen möglichen Hintergedanken - das ist jetzt nämlich durch Beitrag#29 das Fazit.

    Zwischenmenschlich entschuldigt man sich oder gesteht einen Fehler ein, ihr teilt hingegen lieber noch (weitere) Vorwürfe aus. Unfassbar.

  • Mein lieber meigrafd,

    mein Beitrag war nicht provokant. Ich habe lediglich auf eine Deiner fehlerhaften Aussagen hingewiesen und diese klar gestellt. Denn leider vermuten vielen jüngeren User, dass Du immer alles besser weißt. Weil Du ja immer jeder Wurst Deinen Senf aufdrückst.

    In dem Fall lagst Du leider mal wieder daneben. Es ist mein gutes Recht, dies tun zu dürfen. Und wie die Reaktionen der anderen gezeigt haben, stehst Du mit Deiner Ansicht alleine da - weil eben falsch.

    Ob Du zu der schwammigen Formulierung gegriffen, hast, weil Du es einfach nicht besser weißt oder eines der faulen Eier gelegt hast, bleibt Dir überlassen. Interessiert wohl auch niemanden hier. Du kannst programmieren wie Du willst, Deine Programme können sonstwas treiben. Sie können laufen oder unerklärlich abstürzen. Aber zwinge nicht immer Deine Ansichten allen anderen auf. Insbesondere denen nicht, die mehr verstanden haben als Du.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Mein (nicht) lieber Andreas. Wie du vielleicht an den letzten Beiträge bemerkt haben könntest, lag es nur an meiner Schreibweise und Formulierung. Daher ist Deine Auffassung/Aussage falsch. Weil eben falsch.

    Wie auch dein jetziger Beitrag erneut zeigt, provozierst Du gerne und ständig. Es ist mein gutes Recht dies anzumerken.

    Ich zwinge niemandem meine Ansicht auf, ich schrieb ausschließlich was ich lieber nutze - und dreamshader sagte zuletzt auch dass das mit anderer Formulierung Ok gewesen wäre, nur Du denkst mehr Verstand als andere, oder speziell mir, zu haben - auch wieder eine Provokation deinerseits.

    Man könnte sogar sagen das in jedem Satz von dir eine Beleidigung steckt - wer's brauch ....

  • Mein (nicht) lieber Andreas. Wie du vielleicht an den letzten Beiträge bemerkt haben könntest, lag es nur an meiner Schreibweise und Formulierung. Daher ist Deine Auffassung/Aussage falsch. Weil eben falsch.

    Wie auch dein jetziger Beitrag erneut zeigt, provozierst Du gerne und ständig. Es ist mein gutes Recht dies anzumerken.

    Ich zwinge niemandem meine Ansicht auf, ich schrieb ausschließlich was ich lieber nutze - und dreamshader sagte zuletzt auch dass das mit anderer Formulierung Ok gewesen wäre, nur Du denkst mehr Verstand als andere, oder speziell mir, zu haben - auch wieder eine Provokation deinerseits.

    Man könnte sogar sagen das in jedem Satz von dir eine Beleidigung steckt - wer's brauch ....

    ... habe ich mal gemeldet... Sollen anderen befinden ... was sie damit anstellen.


    Es geht um Deine Formulierungen, auf die ich mich bezog. Nicht auf, das was andere Dir vorgeschlagen haben, wie Du hättest schreiben sollen. Du schriebst. Nicht andere für Dich. Dieses Jahr geht so weiter wie 2014/2015/2016/2017 verliefen.

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    • Offizieller Beitrag

    Ich hab jetzt echt lange nach einem gif gesucht, das meine Gefühlslage wiederspiegelt. Aber Angry-Facepalms scheint es nicht so viele zu geben. Deswegen muss dieses Bild herhalten um meine Stimmung auszudrücken?

    hqFCN.jpg

    Ihr braucht das, oder? Euer kleines Alphatiergehabe. Ich kann besser Programmieren, nein ich. Ich mach das schon länger,nein ich. Frau Müller, er hat Doofmann gesagt. Früher hätte einer dem anderen ne Plastikschippe drübergehauen und die Sache wäre beendet gewesen. Anschliessend hätten beide weiter im Sandkasten gespielt. Da das virtuell leider nicht geht, Nehm ich die symbolisch Schippe - hau euch beide und mach hier zu.

    Bernd666

    Es tut mir leid für deinen Thread, keine Ahnung ob dir hier auch noch was nützliches rausziehen konntest.

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!