Liggewigproses

in Wikipedia, die vrye ensiklopedie
Spring na: navigasie, soek

In Rekenaarwetenskap, verskaf die liggewig proses ("thread in Engels") 'n manier om 'n rekenaarprogram op te deel in een of meer samelopende take (sien ook: vurk). Liggewig prosesse en prosesse verskil van een bedryfstelsel tot die volgende, maar oor die algemeen word 'n liggewig proses in 'n proses bevat en liggewig prosesse wat aan 'n proses behoort deel hulpbronne waar prosesse tipies geen hulpbronne deel nie.

Op 'n enkel verwerker geskied samelopendheid d.m.v. tydsverdeling multipleksering wat soortgelyk is aan die samelopende uitvoering van veelvuldige take (rekenaar samelopendheid): die sentrale verwerker wissel uitvoering opeenvolgend van een liggewig proses tot die volgende. Die kontekswisseling kan vinnig genoeg geskied om 'n illusie van samelopendheid te skep. Op 'n multiverwerker- of multikernsisteem kan samelopendheid van liggewig prosesse geskied d.m.v. multiverwerking sodat onderskeie liggewig prosesse en gewone prosesse gelyktydig op verskillende verwerkers of kerns kan uitvoer.

Baie moderne bedryfstelsels ondersteun beide die tydverdeelde en multiverwerker uitvoer van liggewig prosesse d.m.v. 'n prosesskeduleerder. Die bedryfstelsel kern laat programmeerders toe om liggewig prosesse te bewerk d.m.v. die sisteemroepkoppelvlak.

In die afwesigheid van sulke ondersteuning kan programme steeds liggewig prosesse implementeer d.m.v. tydskakelaars, seine of ander wyses wat hul eie uitvoer onderbreek en dus 'n vorm van tydsverdeling toelaat. Hierdie metodes word soms "user-space threads" in Engels genoem.

Liggewig prosesse teenoor prosesse[wysig]

'n Liggewig proses word onderskei van 'n tradisionele samelopende proses deur dat prosesse:

Veelvuldige liggewig prosesse daarenteen deel gewoonlik die toestand, geheue en ander hulpbronne van 'n proses. Kontekswisseling tussen liggewig prosesse in dieselfde proses is gewoonlik vinniger as kontekswisseling tussen prosesse.

Verwysings[wysig]

  • David R. Butenhof: Programming with POSIX Threads, Addison-Wesley, ISBN 0-201-63392-2
  • Bradford Nichols, Dick Buttlar, Jacqueline Proulx Farell: Pthreads Programming, O'Reilly & Associates, ISBN 1-56592-115-1
  • Charles J. Northrup: Programming with UNIX Threads, John Wiley & Sons, ISBN 0-471-13751-0
  • Mark Walmsley: Multi-Threaded Programming in C++, Springer, ISBN 1-85233-146-1
  • Paul Hyde: Java Thread Programming, Sams, ISBN 0-672-31585-8
  • Bill Lewis: Threads Primer: A Guide to Multithreaded Programming, Prentice Hall, ISBN 0-13-443698-9
  • Steve Kleiman, Devang Shah, Bart Smaalders: Programming With Threads, SunSoft Press, ISBN 0-13-172389-8
  • Pat Villani: Advanced WIN32 Programming: Files, Threads, and Process Synchronization, Harpercollins Publishers, ISBN 0-87930-563-0
  • Jim Beveridge, Robert Wiener: Multithreading Applications in Win32, Addison-Wesley, ISBN 0-201-44234-5
  • Thuan Q. Pham, Pankaj K. Garg: Multithreaded Programming with Windows NT, Prentice Hall, ISBN 0-13-120643-5
  • Len Dorfman, Marc J. Neuberger: Effective Multithreading in OS/2, McGraw-Hill Osborne Media, ISBN 0-07-017841-0
  • Alan Burns, Andy Wellings: Concurrency in ADA, Cambridge University Press, ISBN 0-521-62911-X
  • Uresh Vahalia: Unix Internals: the New Frontiers, Prentice Hall, ISBN 0-13-101908-2
  • Alan L. Dennis: .Net Multithreading , Manning Publications Company, ISBN 1-930110-54-5
  • Tobin Titus, Fabio Claudio Ferracchiati, Srinivasa Sivakumar, Tejaswi Redkar, Sandra Gopikrishna: C# Threading Handbook, Peer Information Inc, ISBN 1-86100-829-5
  • Tobin Titus, Fabio Claudio Ferracchiati, Srinivasa Sivakumar, Tejaswi Redkar, Sandra Gopikrishna: Visual Basic .Net Threading Handbook, Wrox Press Inc, ISBN 1-86100-713-2

Eksterne skakels (almal in Engels)[wysig]