Autor Beitrag
TomyN
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

Win10
D5 Std., Turbo-Delphi (w32), Delphi 2010
BeitragVerfasst: Sa 30.12.17 17:44 
Hallo,

ich programmiere nun schon etliche Jahre, allerdings meist 'klassisch'.
Nun stehe ich vor einer neuen Herausforderung und würde gerne Eure Meinung / Ideen dazu hören.

Ich habe eine Anwendung, in deren 'Mittelpunkt' die kontinuierliche Datenerfassung (Audiodaten) und deren Auswertung steht.
Dazu gibt es dann eine Visualisierung (lokal), einen 'eingebauten' Webserver für die Anzeige über das Netzwerk, sowie eine lokale Datenspeicherung.

Ich würde das ganze gerne so aufteilen, dass der Mittelpunkt (Erfassung / Auswertung -> Datenlieferung) sehr stabil läuft, und auch von Problemen der anderen Aufgaben (webserver, abspeichern) sich nicht stören lässt. Mein Traum wäre eine Server Client struktur (wobei ich mir schon nicht sicher bin, ob die 'Datenlieferung' der Server oder auch ein Client sein sollte (das ganze gemanaged von einem 'Supervisor'), mit IPC.

Leider hab ich mit den Themen noch nichts zu tun gehabt, daher wäre ich für Anregungen / Hinweise auf Lesestoff (gerne auch in Englisch) dankbar.

Ansonsten einen guten Start ins Jahr 2018

Tomy
Symbroson
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 382
Erhaltene Danke: 67

Raspbian, Ubuntu, Win10
C, C++, Python, JavaScript, Lazarus, Delphi7, Casio Basic
BeitragVerfasst: Sa 30.12.17 19:26 
Ich bin ehrlich fesagt etwas verwirrt, weil der Titel eher nach Multithreading klingt, dann aber von Servern redest - was soll es denn nun werden? ;)

_________________
most good programmers do programming not because they expect to get paid or get adulation by the public, but because it's fun to program. (Linus Torvalds)

Für diesen Beitrag haben gedankt: TomyN
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Chefentwickler
Beiträge: 20418
Erhaltene Danke: 2234

Win 10
C# (VS 2017)
BeitragVerfasst: Sa 30.12.17 20:30 
user profile iconSymbroson hat folgendes geschrieben Zum zitierten Posting springen:
Ich bin ehrlich fesagt etwas verwirrt, weil der Titel eher nach Multithreading klingt,

Aber nur, wenn man meint, ein Thread und ein Prozess wären dasselbe ;)

@Tomy: In Delphi kann ich Dir da nicht viel helfen. Allerdings ein Gedanke: Du schreibst von IPC, was man ja meist mit der Kommunikation von Prozessen auf ein und demselben System verbindet. Du solltest Dir überlegen, ob es nicht in der Zukunft Anwendungsfälle geben kann, in denen die einzelnen Prozesse zwecks Lastverteilung nicht mehr auf dem selben System laufen und dann per Netzwerk kommunizieren müssen. Wenn das eine Option ist, sollte die Architekter das zumindest grob bereits vorsehen und entsprechende Abstraktionsebenen mitbringen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".

Für diesen Beitrag haben gedankt: TomyN
TomyN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

Win10
D5 Std., Turbo-Delphi (w32), Delphi 2010
BeitragVerfasst: Sa 30.12.17 21:06 
Hi,

also Multithreading heißt für mich ein Prozess, der verschiedene 'parallele' Threads hat. Sowas setzte ich oft ein, habe da aber die Erfahrung gemacht, dass ein 'abstürzender' Thread die ganze Anwendung blockieren kann.

Auf der anderen Seite steht eine total verteilte Lösung die aus verschiedenen Prozessen besteht, die Daten austauschen (ob über Pipes, shared Memory, Netzwerk ) und wo jeder vor sich hin 'wurschtelt'. Sowas habe ich bisher nur ansatzweise gemacht. Hier sehe ich das Problem mehr darin, dass es für den Anwender wie ein Programm aussehen soll.

Tomy
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 230


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: So 31.12.17 01:49 
user profile iconTomyN hat folgendes geschrieben Zum zitierten Posting springen:
Hi,

also Multithreading heißt für mich ein Prozess, der verschiedene 'parallele' Threads hat. Sowas setzte ich oft ein, habe da aber die Erfahrung gemacht, dass ein 'abstürzender' Thread die ganze Anwendung blockieren kann.


Die Anwendung wessen - des Programmes?

Das ist ein deutlicher Hinweis auf einen Programmierfehler, eigentlich sogar auf zwei. Zum einen der Absturz des Threades, zum anderen, daß dieser dann den gesamten Proreß blockiert. Sieht nach dem sog. Philosophenproblem aus.

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Chefentwickler
Beiträge: 20418
Erhaltene Danke: 2234

Win 10
C# (VS 2017)
BeitragVerfasst: So 31.12.17 02:08 
TomyN fragte nach Hilfestellsungen und Hinweisen, wir er seine Anwendung in verschiedene Prozesse aufteilen kann. Wäre schön, wenn wir bei diesem Thema bleiben könnten ...

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
TomyN Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32
Erhaltene Danke: 2

Win10
D5 Std., Turbo-Delphi (w32), Delphi 2010
BeitragVerfasst: So 31.12.17 09:52 
Hi,
vielleicht bin ich einfach zu ängstlich. Netzwerk und Dateizugriffe sind Dinge, bei denen ich immer Angst habe, dass sie irgendwann mal zuviel Zeit brauchen oder hängenbleiben und dann der fünfte Philosoph verhungert.
Werde das einfach mal mit Multithreading angehen..

Tomy
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1583
Erhaltene Danke: 230


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: So 31.12.17 19:54 
user profile iconTomyN hat folgendes geschrieben Zum zitierten Posting springen:
Hi,
vielleicht bin ich einfach zu ängstlich. Netzwerk und Dateizugriffe sind Dinge, bei denen ich immer Angst habe, dass sie irgendwann mal zuviel Zeit brauchen oder hängenbleiben und dann der fünfte Philosoph verhungert.


Mit Angst kommt man i.d.R. nicht weiter, auch vor dem Computer nicht. Natürlich hat die instinktive Gefahrenwarnung ihre Berechtigung, und sich Gefahren (welchen in diesem Falle eigentlich?) auszusetzen, ist immer mehr oder weniger riskant. Doch wenn wir Menschen immer nur auf unsere Angst gehört hätten, dann hätten wir bis heute nicht einmal das Feuer bezwungen.

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.