Was ist an KillThread() so "gefährliche"

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

Das PB Stringsystem ist NICHT threadsicher. Das arbeiten mit Strings, egal ob lokal
oder global funktioniert in threads nur wenn die threadsafe Option in den
Kompileroptionen aktiviert ist, sonst wird es immer Probleme geben.
Ah das erklärt warum in meinem Spielernamen (nicht Global nur im Hauptprogramm) auf einmal eine IP (nicht Global nur im Thread) aus einem Thread erscheit :-O

das kann manchmal richtig unheimlich sein ^^


NEBENBEI :

Auf Grund dieser ganzen Tatsachen, wäre es dann wohl besser für Spiel und Server 2 EXE zu machen die parallel laufen als das der Server als Thread im Programm läuft.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

> Auf Grund dieser ganzen Tatsachen, wäre es dann wohl besser für Spiel und Server 2 EXE zu machen die parallel laufen als das der Server als Thread im Programm läuft.
Ja, denn dnan könntest du auch "dedizierte" Server (oder wie das heißt) anbieten, sodass der Server auch auf einem echten Internetserver gestartet werden könnte.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

So lange gesichert ist, das auf Strings nicht gleichzeitig von 2 oder mehr
Stellen gelesen/ geschrieben wird, können Threads sicher verwendet
werden. Oder besser gesagt, so ist der Hauptpunkt schon mal beseitigt.

Einen eigenständigen Server zu schreiben ist aber sicher nicht verkehrt,
sogar ganz im Gegenteil, mit deiner 3.3 kannst du so sogar viel besser auf
Fehler testen.

Fals du irgned wann doch mal Threads in deiner 3.3 brauchen solltest:
Critical Sections selbst erstellen :) [3 Methoden]
Das wird ja wohl auch mit der 3.3 klappen.

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7028
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

lol, sry das thema ist schon längst vergessen^^

mein Programm funzt perfekt, er macht genau das was er machen soll:

gleichzeigig mehrere Serververbindungen checken und in ein Array packen.

mit CriticalSection

aber danke trotzdem
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

ja ich weis ... aber da hier keiner was von den genialen Prozeduren von
PureFan erzählt hat, wollt ich dich noch drauf hinweißen ... halt fürs
nächste mal :wink:

Sicher ne sehr gute Alternative zu den API-Befehlen :D

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Antworten