CreateMutex() vs. CreateMutex_

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

CreateMutex() vs. CreateMutex_

Beitrag von tft »

Hallo,

Mein Projekt wirft für mich viele spannende Fragen auf.

Wirkt CreateMutex() nur innerhalb des laufenden Prozesses und CreateMutex_() global?
Die Tatsache das es bei CreateMutex_() zu Benennungskonflikten kommen kann. Lässt bei
mir diesen Schluss zu. Was ich ja auch brauche.

Hat da jemand infos zu?

Gruss TFT
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Benutzeravatar
mk-soft
Beiträge: 3852
Registriert: 24.11.2004 13:12
Wohnort: Germany

Re: CreateMutex() vs. CreateMutex_

Beitrag von mk-soft »

Bei Windows wird für CreateMutex intern CriticalSection genommen (was auch schneller ist)
Somit nur für den eigenen Prozess.

MSDN: https://learn.microsoft.com/en-us/windo ... on-objects
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8808
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: CreateMutex() vs. CreateMutex_

Beitrag von NicTheQuick »

CreateMutex_() ist ein direkter Windows-API-Call und wird hier erklärt: https://learn.microsoft.com/de-de/windo ... ex-objects
Du musst ihm auch keinen Namen geben. Der Name ist nur sinnvoll, wenn du den Mutex über Prozesse hinweg nutzen möchtest.

CreateMutex() ist ein Purebasic-Command und wird je nach Betriebssystem auf andere OS-API-Calls gemappt (siehe Antwort von mk-soft). So ein Mutex ist aber nie global, sondern gilt nur für deinen aktuellen Prozess.

Wenn dir andere Betriebssysteme egal sind und du nur für Windows entwickelst, kannst du also auch CreateMutex_() nutzen.
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: CreateMutex() vs. CreateMutex_

Beitrag von tft »

danke für die schnelle Antwort.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Antworten