Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Computer multitasking
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Multithreading == [[Thread (computing)|Threads]] were born from the idea that the most efficient way for cooperating processes to exchange data would be to share their entire memory space. Thus, threads are effectively processes that run in the same memory context and share other resources with their [[parent process]]es, such as open files. Threads are described as ''lightweight processes'' because switching between threads does not involve changing the memory context.<ref>{{cite web | url = http://www.redbooks.ibm.com/redpapers/pdfs/redp4285.pdf | title = Linux Performance and Tuning Guidelines | date = April 25, 2008 | access-date = March 1, 2015 | author1 = Eduardo Ciliendo | author2 = Takechika Kunimasa | website = redbooks.ibm.com | publisher = [[IBM]] | page = 4 | archive-url = https://web.archive.org/web/20150226022205/http://www.redbooks.ibm.com/redpapers/pdfs/redp4285.pdf | archive-date = February 26, 2015 | url-status = dead }}</ref><ref>{{cite web | url = http://www.linfo.org/context_switch.html | title = Context Switch Definition | date = May 28, 2006 | access-date = February 26, 2015 | website = linfo.org | archive-url = https://web.archive.org/web/20100218115342/http://www.linfo.org/context_switch.html | archive-date = February 18, 2010 | url-status = dead }}</ref><ref>{{cite web | url = http://www.tldp.org/FAQ/Threads-FAQ/Types.html | title = What are threads (user/kernel)? | date = September 8, 1997 | access-date = February 26, 2015 | website = tldp.org }}</ref> While threads are scheduled preemptively, some operating systems provide a variant to threads, named ''[[Fiber (computer science)|fiber]]s'', that are scheduled cooperatively. On operating systems that do not provide fibers, an application may implement its own fibers using repeated calls to worker functions. Fibers are even more lightweight than threads, and somewhat easier to program with, although they tend to lose some or all of the benefits of threads on [[multiprocessing|machines with multiple processors]].<ref>[http://csmoraitis.weebly.com/uploads/1/4/1/9/14190245/multitasking_-_different_methods.pdf Multitasking different methods] Accessed on February 19, 2019</ref> Some systems directly support [[Multithreading (computer architecture)|multithreading in hardware]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)