Seite 3 von 3

Verfasst: 09.04.2007 15:53
von Thorium
ts-soft hat geschrieben:
PMV hat geschrieben:
dige hat geschrieben:Guckst Du hier: http://www.qrst.de/html/algo/mutex.htm
link geht nicht mehr :cry:

^^dabei interessiert mich die Fragestellung auch :D

MFG PMV
Schreib 2 Zettel, einmal mit Nicolaus, einmal mit Thomas, und packe diese
zusammengefaltet in einen Hut. Mischen und ziehen.
Nicolaus = Semaphore
Thomas = Mutex
Natürlich gibt es einen Unterschied:

http://msdn2.microsoft.com/en-us/library/ms682438.aspx
http://msdn2.microsoft.com/en-us/library/aa914601.aspx

Einfach mal durchlesen und vergleichen.

Verfasst: 09.04.2007 16:09
von ts-soft
>> Einfach mal durchlesen und vergleichen.
Nein, bitte erklären, mein englisch reicht nicht, bzw. sehe nur min.
Unterschiede, die aber nur Services betreffen, also für dieses Vorhaben
vernachlässigt werden können.

Hab in anderen Sourcen, in anderen Sprachen bisher auch nur die Variante
mit Mutex gesehen, verwende diese deshalb auch.

Verfasst: 14.04.2007 07:55
von Leonhard
Bei der überprüfung muss aber auch überprüft werden, ob das Programm in dem selben Benutzer oder in einem anderen Benutzer ausgeführt wird.

Verfasst: 14.04.2007 10:00
von Kaeru Gaman
> Bei der überprüfung muss aber auch überprüft werden, ob das Programm in dem selben Benutzer oder in einem anderen Benutzer ausgeführt wird.

berechtigter einwand, aber wohl doch eher selten zutreffend...(?)

meistens wird es ja um programme gehen, die auf single-stations laufen und vor abmeldung des benutzers beendet werden...

Verfasst: 14.04.2007 10:35
von AND51
> vor abmeldung des benutzers beendet werden
Wieso? Es gibt mindestens 2 Möglichkeiten, das zu umgehen:
- Benutzer wechseln statt Abmelden
- Ausführen als
Ich dachte auch erst, es gibt mehr
> single-stations
als MultiUser-Umgebungen, aber dem ist nicht so. Habe allein schon im Bekanntenkreis mehr ulti- als Single-Stations gesehen. Und es gibt sooo viele Programme, die schon bei der Installation fragen, ob es für alle oder nur für einen selbst installiert werden soll - das sind Mioooonen, oder ein Dutzend? :lol:

Es kommt immer auf das Programm an, ob es unter welchen Umständen merfach laufen darf.

TeamSpeak beispiwlesweise kann auch unter 2 verschiedenen Benutzer nicht gleichzeitg laufen, weil das einfach nichts bringt. Wollte mit der einen mal reden und mit der anderen Instanz Musik senden, es ging nicht.
Programme wie ICQ hingegen können mE schon doppelt und dreifach laufen, man kann sich ja nicht zwei Mal mit dem selben Benutzernamen einloggen, denn solche DInge werden dann ja schon vom Server geregelt.
Dinge, die pro Benutzer aber nur einmal laufen sollten/dürfen sind AntiVirenprogramme oder z. B. PureBasic (wenn man "Nur eine Instanz zulassen" einschaltet).

Verfasst: 14.04.2007 10:52
von Kaeru Gaman
bleibt trotzdem die frage, wo der sinn ist, und ob man da wirklich drauf reagieren soll.

wenn ich ein programm erneut als anderer benutzer starte,
wieso sollte das programm das nicht genauso unterbinden,
wenn es als single-instance laufen will?

wenn ich ein programm als ausdrücklich single-instance laufen lassen will,
warum soll ich mich drum scheren, ob der user versucht das mit nem anderen benutzerkonto erneut zu starten?

darauf rücksicht nehmen müßte ich eigentlich nur,
wenn tatsächlich zwei benutzer an einem arbeitsplatz arbeiten sollen,
und beide das programm brauchen.
also auch nur, wenn das programm deutlich dazu gemacht ist, auf dauer zu laufen,
auch in betrieb zu bleiben wenn der benutzer seine arbeit unterbricht/beendet.

Verfasst: 14.04.2007 11:29
von AND51
Stell dir doch mal vor, du arbeitest an einem PC, hast IE, ICQ und TS auf. Jetzt kommt dein Kollege/Freund oder wer auch immer und will kurz seine Messages checken.
Dazu startet er IE und ruft seine E-mails ab, IE kann/darf/muss also 2x gestartet werden. ICQ will er auch kurz öffnen um nachzusehen.*
Tja uns TS geht wie gesagt nicht, da der Computer nur 1 Mikrofon hat, auf das dann beide Instanzen regiaren.

*Es muss jedes Programm selbst entscheiden, ob es mehrfach gestartet werden kann/darf/soll/muss. Das hängt IMHO von der Aufgabe des Programms ab: Systemprogramme (AntiVirus, Defrag) ist klar: 1x. Unterhaltungsprogramme (IE, ICQ, kleine Spiele, etc.) könnten schon mehrfach gestartet werden.
Kaeru Gaman hat geschrieben:wenn tatsächlich zwei benutzer an einem arbeitsplatz arbeiten sollen,
und beide das programm brauchen.
also auch nur, wenn das programm deutlich dazu gemacht ist, auf dauer zu laufen,
auch in betrieb zu bleiben wenn der benutzer seine arbeit unterbricht/beendet.
Genau, du sagst es ja auch selbst schon.

Verfasst: 14.04.2007 12:14
von Kaeru Gaman
> Stell dir doch mal vor, du arbeitest an einem PC, hast IE, ICQ und TS auf. Jetzt kommt dein Kollege/Freund oder wer auch immer und will kurz seine Messages checken.

da würd ich erstmal verbieten, mein account zu schließen, das soll er halt so machen.
ob er nen zweiten fifo aufmacht, oder nen weiteren tab in dem fifo den ich schon offen hab, is mir banane.
icq kann ich ausloggen und er kann einloggen, auch kein thema.
und wenn er im ts was checken will, dann sach ich "afk", muss ich eh wenn er dran will, und dann soll er halt mal fix in dem einen ts auf seinen channel wechseln...
geht doch alles. was meinste, wie meine freundin ihre mails checkt, wenn sie hier is.

im endeffekt ändert sich hierbei nicht der benutzer.
eigentlich geht es um programme, die ich laufen lassen muss,
wenn ich auschecke und feierabend mache,
und ein anderer kollege den rechnerplatz übernimmt.

das sind aber meiner ansicht nach absolute ausnahmen.
pb is auch schnell wieder offen, und hat n dutzend tabs geöffnet mit den foldings wie beim letzten mal.... braucht man nicht offen lassen.

ich sehe keinen sinn darin, 37 apps offen zu lassen, wenn ich den arbeitsplatz verlasse.
im gegenteil, wenn ich chef wäre, würde ich das meinen mitarbeitern sogar verbieten.

Verfasst: 14.04.2007 12:49
von AND51
> da würd ich erstmal verbieten, mein account zu schließen
Sry, ich dachte du kommst selber drauf: Ich meinte, dein Kollege/Freund will dazu die Funktion "Benutzer wechseln" benutzen, dazu muss er deine Progs nicht schließen.

Er will, nein er muss diese Funktion benutzen, da er nicht FiFo, sondern... IE oder OP benutzt. Egal was, der Punkt ist: Unter seinem Account hat er seine eigenen EInstellungen, Favoriten/Lesezeichen. Er will auch kurz in seinen Account, weil ihm einfällt, dass er nicht nur seine Messages checken, sondern auch noch ein ganz wichtiges Dokument drucken muss, auf das er von deinem Account keine Zugriff hat (z. B. weil eure Acc's eingeschränkte Acc's sind).


Ich will dich jetzt nicht überzeugen oder totquatschen. Es geht nur darum: Es IST möglich, dass eine App mehrmals läuft. Der Autor, der ein Programm schreibt muss sich selbst darüber im Klaren sein, ob er eine 2. Instanz seines Programms verbieten will:
1) nein
2) ja (nur innerhalb eines Accounts)
3) systemweit

Ich programmiere selbst keine Securitysoftware, trotzdem arbeite ich immer nach dem Prinzip, dass ich alle möglichen Situationen, wie auch immer geartet, gut handlen kann. Jedoch liegt es letzen Endes immer am Autor, ob er/sie das auch will/braucht.

Verfasst: 14.04.2007 13:02
von Kaeru Gaman
ja gut, so gesehen....

ich hab das ßenario nur nicht komplett durchdacht...