Ja schon, aber shoam scheint grundlegendere Verständnisprobleme mit Prozeduren zu haben.
merlin hat das ja schon schön erklärt.Erst wenn ich eine Procedure aufrufe z.B. mit
a()
b()
dann starten sie aber dann laufen sie wieder nicht parallel.
Prozeduren sind im Allgemeinen dazu da, um irgendwelche Funktionen zu berechnen, oder Aktionen auszuführen, sie werden aber nicht gleich ausgeführt, wenn sie definiert werden. Sie können dann einfach durch einen Prozeduraufruf ausgeführt werden.
Das gesamte Programm aber wird normalerweise in einem 'Thread' ausgeführt. Ein 'Thread' ist sowas wie ein 'Aktivitätsträger'. D.h. ein Thread arbeitet stets an nur genau einer Stelle des Programms gleichzeitig. Beim Prozeduraufruf springt er also in die Prozedur, bis er damit fertig ist, und dann wieder heraus, und fährt dort fort, von wo er die Prozedur sprang.
Man kann mit mehreren Threads arbeiten, dabei kann es aber zu vielen Problemen, kommen, wenn die Programmiersprache Threads nicht sicher unterstützt, also diese Probleme von Haus aus vermeidet. PB ist nicht Threadsicher, daher sollte man wo möglich Threads vermeiden. Aber wenn man weiss was man tun muss, dann kann man durchaus auch mit PB mit Threads arbeiten. Aber als Hauptregel sollte hier gelten:
Nutze keine Strings/Stringfunktionen von PB in als Thread laufenden Prozeduren.
Bist du auf Strings angewiesen, nutze die threadssichere Stringlibrary auf purearea.