Flertrådad programmering

Övningen är skapad 2022-10-28 av EllinorJN. Antal frågor: 30.




Välj frågor (30)

Vanligtvis används alla ord som finns i en övning när du förhör dig eller spelar spel. Här kan du välja om du enbart vill öva på ett urval av orden. Denna inställning påverkar både förhöret, spelen, och utskrifterna.

Alla Inga

  • monitorer och semaforer används för att skydda ..., men detta har vi inte i ett disitrbuerat system shared-memory data
  • synchronized-låset intrinsic lock
  • ett intrinsic lock är ... reentrant
  • reentrant locks förhindrar att en tråd ... för sig själv blockerar
  • en tråd har ensamrätt till modifierbar data thread confinement
  • data kapslas in i ett objekt, så den bara är åtkomlig genom objektets metoder, som kan låsas instance confinement
  • specialfall av thread confinement där ett objekt endast kan nås genom lokala variabler (en ENDA referens till tex ett Set) stack confinement
  • lokala variabler finns på den körande trådens ..., vilken inte är tillgänglig för andra trådar stack
  • innebär att ett objekt har ett internal state som förblir konstant efter att det har skapats immutability
  • för att vänta på att den tråd avbryts kan vi använda join
  • en entrådig trådpool gör att vi får en typ av ... thread confinement
  • använder ej synchronized, men ser till att det alltid är åtminstone en tråd som kan fortsätta. Man testar och hoppas att det går, kollar förändring, provar igen låsfria datastrukturer
  • låsfria datastrukturer bygger på atomära variabler
  • vi kan garantera schedulability om sum C/T är mindre än U = n(2^1/n - 1)
  • U står för CPU utilization
  • låsfria datastrukturer gör att ... inte kan uppstå och det är .... dödlägen, tidseffektivt
  • låsfria datastrukturer är ... vilket gör att vi kan köra mer kod parallellt icke-blockerande
  • låsfria datastrukturer undviker deadlocks, men har högre benägenhet för ... livelock
  • när vi gör en lokal .... får vi stack confinement och kan skydda mot check-then-act och alien methods kopia
  • man kan vänta på att alla trådar kör klart med .... och ... for-each, join
  • alien methods riskerar att ge två problem, .... och ... oavsiktlig delning av data, dödläge
  • N processer måste komma överens om ett VÄRDE som åtminstone en av dem föreslagit distributed consensus
  • när man tänker på om något går att köra utan synchronized, måste man också tänka på Javas minnesmodell som INTE garanterar... synlighet
  • pga ... är det aldrig acceptabelt med if-wait spurious wakeups
  • kapplöpning vi brukar ha i bankaccount read-modify-write
  • de fyra villkoren för deadlock hold-and-wait, circular wait, mutual exclusion, no resource preemption
  • mutual exclusion som deadlock-villkor innebär att åtminstone en resurs är ... non-shareable
  • mutual exclusion för tåget, bara ett ... per ... tåg, segment
  • en resurs kan bara släppas frivilligt, av den som håller den. den kan inte bli tvingad no resource preemption
  • om vi har en alien-metod ska vi ... ta bort synchronized och använda kopior

Alla Inga

(
Utdelad övning

https://spellic.com/swe/ovning/flertradad-programmering.11237824.html

)