? Datorprogram kan utföra flera kodblock samtidigt genom program samtidighet . Detta möjliggör en stor flexibilitet i att programmen kan hantera förfrågningar eller data separat från själva programmet utan att påverka genomförandet av själva programmet . Program gör detta med hjälp av trådar . Förvaltningen av dessa trådar utförande innefattar skötseln av sina resurser och hur programmet avser att övervaka dem . En skillnad mellan hur ett program upprätthåller trådar är representerad i skillnaden mellan " joinable " och " fristående " trådar . Trådar
I datorprogrammering , refererar " flertrådade " eller " samtidig " programmering till tekniken för att skapa separata trådar för verkställighet i samma program . Varje tråd i ett program exekverar en del kod tillsammans med de andra trådarna i det programmet , så att flera block av kod körs på samma gång . När ett program börjar , det finns alltid en tråd , "main " gänga , från vilka andra trådar kan leka att hantera andra block av kod .
Föreningsbara Trådar
med olika trådar som löper samtidigt inom samma program , blir tråden underhåll avgörande . Ett sätt att upprätthålla trådar är att använda "join " kapacitet . Föreningsbara trådar löper parallellt med de övriga trådarna i ett program , som är typiskt för gängor . Däremot kan den röda tråden vänta med att gå med i lekt tråden . Den röda tråden , istället för att köra mer kod , kan använda join funktionen av tråden för att låta en annan tråd att slutföra sin uppgift . Den gav upphov till tråden , en gång slutade , returnerar en exit kod signalerar en normal exit eller ett fel , och den röda tråden körs vidare . Addera ditt Lossnar Trådar
Fristående gängor fungerar lite annorlunda . När en tråd uttryckligen är avskild från dess huvudsakliga tråd , den inte längre har anslutning till den tråden. Tråden löper och utgångar som alla andra tråden och sedan slutar när du är klar . Den röda tråden kan inte övervaka lekt tråden . Den gav upphov till tråden slutar när du är klar , vilket betyder den röda tråden inte behöver uttryckligen gå med tråden senare i programmet .
Resolution av Running Trådar
Sammanfogning och frånkoppling gängor tillåter två olika typer av tråd förvaltning . Genom att lämna en tråd som joinable , kan programmeraren tvinga program att gå med tråden senare i körningen . Denna koppling måste ske för att frigöra de resurser som den gett upphov till tråden , t.ex. stack och heap minne . En fristående tråd , en gång lossnat , kör tills det är färdigt , och systemet automatiskt återvinner de resurser som används . Däremot kan den röda tråden inte kontrollera status för en fristående tråd genom en koppling . Därför vet huvudprogrammet inte om en lekt , fristående tråd slutfört sin uppgift framgångsrikt , eftersom det aldrig får en exit kod från tråden . Addera