| |
|
|
 | XProfan ist Multithread-Fähig - der Programmablauf wird grundsätzlich nicht von weiteren Threads beeinflusst und man kann so viele eigene/ neue Threads erzeugen und ablaufen lassen wie man möchte.
Lediglich bietet XProfan von Haus aus keine eigenen Methoden für neue Threads oder die Verwaltung solcher, Einfluss auf die Multithread-Fähigkeit hat dies aber nicht.
Wer eigene Threads starten möchte kann dies z.B. mit der CreateThread-API tun: KompilierenMarkierenSeparieren Was man natürlich nicht vergessen darf und nicht "über einen Kamm scheren" - dies aber wohl bei "jeder" Programmiersprache - dass, wenn man multithread-Prozesse ablaufen lässt, diese natürlich auch entsprechend programmiert werden müssen sodass es keine Kollisionen mit anderen Threads gibt z.B. bezüglich des Nutzens und Schreibens auf prozessglobalere Speicher/ Variablen.
Die XProfan-eigenen Funktionen sind z.B. aus diesem Grund nicht geeignet um z.B. aus anderen Threads als dem Haupt-Thread oder injiziert in den Hauptthread aufgerufen zu werden - wozu sie aber auch nicht gedacht sind weshalb solch Aufrufe anzuordnen einen "Programmierfehler" im eigenen Programm darstellen würde aber nicht die Multithread-Fähigkeit von XProfan-Programmen in Frage stellt.
So gehört zum Entwickeln eigener echter Threads im XProfan-Programm auch das Entwickeln von multithread-fähigen Funktionen die dann wiederum in dem Multithread-fähigem XProfan auch korrekt ausgeführt werden.
Die einfachste und speziell für XProfan hergestellte Möglichkeit eigene aufwändige (multi-) threadsichere Funktionen herzustellen sind "native Funktionen" (nProcs) deren Assembler gezielt multithreadfähig hergebildet wird. Um möglichst einfach und "profan" solche nativen Funktionen programmieren zu können bietet XPSE als XProfan-Präkompiler ( [...] ) sogenannte nProcs (das n steht für nativ) die automatisch in (multi-) threadsicheren Assembler umgewandelt und als Objekt direkt in das XProfanprogramm integriert werden sodass der XProfan-Programmierer getrost auch mit ganz normaler Profan-Syntax seine nativen und (multi-) threadsicheren Funktionen herstellen und anwenden kann ohne auf Fremdsprachen zurückgreifen zu müssen: KompilierenMarkierenSeparieren Gibt beide Male 30 aus, nur einmal wurde interpretiert gerechnet und einmal nativ und die native Funktion ist im Gegensatz zur Interpretierten auch 100%ig (multi-) threadsicher - was nicht ginge, wenn XProfan von Haus aus nicht (multi-) threadfähig wäre. |
|
|
| |
|
|