Frage Paralleler Zugriff auf ein Array durchs Thread



  • nehmen wir an ich habe ein Array mit 2 Elementen. Thread (A) ändert /schreibt immer nur in das erste Element, und Thread(B) ändert/schreibt immer nur in das zweite Element.

    brauch ich da CriticalSEction wenn sdie Thread nicht auf das gleiche elemte zugriefen, oder muss ich das gesamte Array immer Sperren bei Zugriff?



  • Rein technisch betrachtet kannst Du in der Situation auf dei critical sektions verzichten.

    Vom Softwaredesign her aber ist das durchaus fragwürdig, denn das sind typische Stellen wo Du eine implizite Annahme machst (Threads greifen immer nur auf genau ein Element zu) die Du dann in, sagen wir, drei MOnaten vergessen hast wenn Du etwas anderes änderst und auf einmal knallt dann Dein Programm weil plötzlich doch zwei Threads auf das gleiche Element zugreifen...



  • - gelöscht weil ich nicht richtig gelesen habe -

    Pass trotzdem genau auf was du machst, ob keine situation auftreten kann in der doch mal nur 1 element drinnen ist.



  • ich würde an dieser stelle den sinn dieses konstrukt hinterfrage, wozu ein array[2] wo jeder thread nur auf 1 element zugreift da kann doch (eigentlich!!!) jeder Thread ne eigene variable bekommen?



  • @Ceos: Ne so einfach ist das nich... 😉 hat schon seinen sinn;)


Log in to reply