Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Allocate und Threads

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
kawe



Anmeldungsdatum: 25.03.2012
Beiträge: 41

BeitragVerfasst am: 02.04.2014, 15:16    Titel: Allocate und Threads Antworten mit Zitat

Hallo, zwischendurch eine mal wieder ein ganz kurze Frage, die auch bei anderen Sprachen ja immer wieder auftritt. Zu ALLOCATE & Co. heißt es in der FB-Referenz:
Code:
ALLOCATE ist kein Teil der FreeBASIC Runtime Library, sondern ein Alias von malloc der C-Lib.
Achtung: Es kann nicht garantiert werden, dass diese Funktion auf allen Plattformen Multithreading unterstützt, d.h. thread-safe ist.

Logo - die C-Spezifikation weiß nichts von Threads, aber nun steht doch hinter FB die GCC, d.h. man müsste doch zumindest für die bereits vorkompilierten Binaries eine eindeutige (positive) Aussage treffen können?
Wenn nein: NEW ist ja offensichtlich thread-safe, obwohl es natürlich auch auf den "ungeschützen" Heap zugreift.

Wenn also Allocate *nicht* thread-safe ist - könnte ich einen portablen Programmteil, der ALLOCATE verwendet, für den Fall der Fälle ebenso "von sich aus" thread-safe machen, d.h. ohne, dass sich der Aufrufer aus einem Thread heraus weitere Gedanken machen muss?

lG
Kawe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 05.04.2014, 14:50    Titel: Antworten mit Zitat

Die Thematik ist schon öfter aufgekommen und dkl hat dazu mal etwas geschrieben: http://www.freebasic.net/forum/viewtopic.php?p=179424#p179424

Auf deutsch:
Es gibt eigentlich keinen Grund, sich über die Threadsicherheit von Allocate und verwandten Befehlen sorgen zu machen. Unter Linux verwendet FreeBASIC dafür die glibc und unter Windows msvcrt, welche beide auf jeden Fall threadsafe sind.
Fehler könnten auftreten, wenn man absichtlich am fbc rüttelt und eine andere CRT verwendet oder man statisch anderen Code eincompiliert. Wird beides nicht gemacht, kann man fröhlich vor sich hin alloziieren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
kawe



Anmeldungsdatum: 25.03.2012
Beiträge: 41

BeitragVerfasst am: 05.04.2014, 21:57    Titel: Antworten mit Zitat

Danke, das war eine sehr nützliche Info. lächeln.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Bibliotheken Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz