Seite 1 von 1

CreateThread() kein Cleanup notwendig?

Verfasst: 14.10.2018 18:48
von Mijikai
Wenn ein Thread endet muss ich da noch was aufräumen?
CloseHandle_()... oder so?
:coderselixir:

Re: CreateThread() kein Cleanup notwendig?

Verfasst: 14.10.2018 18:55
von RSBasic
Wenn der Thread ohne Kill ganz normal beendet wird, dann nicht.

Re: CreateThread() kein Cleanup notwendig?

Verfasst: 14.10.2018 18:56
von Mijikai
RSBasic hat geschrieben:Nein
Vielen Dank :)

Re: CreateThread() kein Cleanup notwendig?

Verfasst: 14.10.2018 20:53
von juergenkulow
Hallo Mijikai,
ich würde Speicher freigeben, Dateien schliessen und andere Resourcen am Ende der Thread-Procedure zurück geben.

Code: Alles auswählen

CompilerIf 0=#PB_Compiler_Thread
  CompilerError "Compileroption Thread-sicheres Exe erstellen bitte aktivieren."
CompilerEndIf

Structure MyThreadTyp : demo.d : EndStructure
Declare TestThread(*p.MyThreadTyp)

MyData.MyThreadTyp
MyData\demo=47.11
CreateThread(@TestThread(),@MyData)
Delay(10000) ; Warte 10 Sekunden 
Debug "End Programm"

Procedure TestThread(*p.MyThreadTyp)
  Dim     myArray.s(20)
  NewList myList.s()
  NewMap  myMap.s()
  myMem=AllocateMemory(256)
  *dynamischeStructure.MyThreadTyp=AllocateStructure(MyThreadTyp)
  Debug *p\demo
  Delay(4000)
  FreeMemory(myMem) 
  FreeStructure(*dynamischeStructure)
  Debug "Ende Procedure TestThread" 
EndProcedure ; SYS_FreeArray, PB_FreeList, PB_FreeMap wird ausgeführt.   
Gruß

Re: CreateThread() kein Cleanup notwendig?

Verfasst: 18.10.2018 16:42
von Mijikai
Nochmal meinen Dank an @juergenkulow & @RSBasic :)
Hab die Folge-Posts erst jetzt gesehen.