Changes

Jump to: navigation, search

Thread

22,345 bytes added, 07:52, 23 April 2018
Created page with "'''Home * Programming * Thread''' FILE:Multithreaded process.svg|border|right|thumb| Two threads on a single processor <ref>[https://en.wikipedia.org/wiki..."
'''[[Main Page|Home]] * [[Programming]] * Thread'''

[[FILE:Multithreaded process.svg|border|right|thumb| Two threads on a single processor <ref>[https://en.wikipedia.org/wiki/Thread_%28computing%29 Thread (computing) from Wikipedia]</ref> ]]

A '''Thread''' is the smallest unit of processing that can be [https://en.wikipedia.org/wiki/Scheduling_algorithm scheduled] by an [https://en.wikipedia.org/wiki/Operating_system operating system]. One or multiple threads can exist within the same [[Process|process]] to share its resources such as [[Memory|memory]]. Modern operating systems support both [https://en.wikipedia.org/wiki/Time-division_multiplexing time-sliced] and multiprocessor threading within a process scheduler. Some operating systems such as [[Windows]] distinguish worker threads from GUI-threads, which incorporate a [https://en.wikipedia.org/wiki/Event_loop message loop], able to receive messages from worker threads. Threads share [https://en.wikipedia.org/wiki/Global_variable global data] of the process, but use disjoint [[Stack|stacks]] for [https://en.wikipedia.org/wiki/Local_variable local variables].

Chess programs using threads for a [[Parallel Search|parallel search]] have to deal with synchronization issues, if multiple threads read and write [https://en.wikipedia.org/wiki/Linearizability none atomic] global data simultaneously, requiring multiple read and/or write cycles. A good step to make a program [https://en.wikipedia.org/wiki/Thread_safety thread safe], is to avoid global variables and to keep board and game states as locals on the stack. To minimize [https://en.wikipedia.org/wiki/Context_switch context switching], chess programs often implement a [https://en.wikipedia.org/wiki/Thread_pool_pattern thread pooling pattern] along with explicitly or implicitly controlling [https://en.wikipedia.org/wiki/Processor_affinity processor affinity], where the number of threads of the chess program is less or equal to the number of physical processor cores. Threads are further versatile to control [https://en.wikipedia.org/wiki/Standard_streams standard input] inside an engine.

=See also=
* [[Cilk]]
* [[Lazy SMP]]
* [[NUMA]]
* [[Parallel Search]]
* [[Process]]
* [[Shared Hash Table]]
* [[SMP]]

=Publications=
==1994 ...==
* [[Michael Halbherr]], [[Yuli Zhou]], [[Chris Joerg]] ('''1994'''). ''[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.9812 MIMD-Style Parallel Programming with Continuation-Passing Threads]''. Proceedings of the 2nd International Workshop on Massive Parallelism: Hardware, Software, and Applications
* [[Robert Blumofe]] ('''1995'''). ''Executing Multithreaded Programs Efficiently''. Ph.D. thesis, [[Massachusetts Institute of Technology|MIT]], [http://supertech.csail.mit.edu/papers/rdb-phdthesis.pdf pdf]
* [[Robert Blumofe]], [[Chris Joerg]], [[Bradley Kuszmaul]], [[Charles Leiserson]], [[Keith H. Randall]], [[Yuli Zhou]] ('''1995'''). ''Cilk: An Efficient Multithreaded Runtime System''. Proceedings of the Fifth [[ACM#SIG|ACM SIGPLAN]] Symposium on Principles and Practice of Parallel Programming (PPoPP), [http://supertech.csail.mit.edu/papers/PPoPP95.pdf pdf] » [[Cilk]]
* [[Yaoqing Gao]], [[Tony Marsland]] ('''1996'''). ''Multithreaded Pruned Tree Search in Distributed Systems''. Journal of Computing and Information, 2(1), 482-492, [http://www.cs.ualberta.ca/%7Etony/RecentPapers/icci.pdf pdf]
* [[Charles Leiserson]], [[Harald Prokop]] ('''1998'''). ''A Minicourse on Multithreaded Programming''. [http://supertech.csail.mit.edu/papers/minicourse.pdf pdf]
==2000 ...==
* [http://comp.lang.pascal.delphi.misc.narkive.com/HW7VUOEV/martin-harvey-thread-tutorial Martin Harvey] ('''2000'''). ''[http://seti.net/engineering/threads/threads.php Multithreading - The Delphi Way]''. » [[Delphi]]
* [http://dblp.uni-trier.de/pers/hd/y/Yang:Yue Yue Yang], [http://dblp.uni-trier.de/pers/hd/g/Gopalakrishnan:Ganesh Ganesh Gopalakrishnan], [[Gary Lindstrom]] ('''2002'''). ''Specifying Java Thread Semantics Using a Uniform Memory Model''. [http://dblp.uni-trier.de/db/conf/java/java2002.html#YangGL02 Java Grande 2002], [http://formalverification.cs.utah.edu/yyang/papers/umm_old.pdf pdf]
* [http://www.hpl.hp.com/personal/Hans_Boehm/ Hans J. Boehm] ('''2004'''). ''Threads Cannot be Implemented as a Library''. [https://en.wikipedia.org/wiki/HP_Labs HP Labs] [https://en.wikipedia.org/wiki/Palo_Alto,_California Palo Alto], [http://www.hpl.hp.com/techreports/2004/HPL-2004-209.pdf pdf]
* [[Jeff Rollason]], [[Dan Orme]] ('''2005'''). ''[http://www.aifactory.co.uk/newsletter/2005_01_nonmultithreading_AI.htm Writing cpu intensive AI without multi-threading]''. [[AI Factory]], Spring 2005
* [http://ptolemy.berkeley.edu/~eal/ Edward A. Lee] ('''2006'''). ''[http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.html The Problem with Threads]''. Technical Report No. UCB/EECS-2006-1, [[University of California, Berkeley]], [http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-1.pdf pdf]
==2010 ...==
* [https://en.wikipedia.org/wiki/Subhash_Saini Subhash Saini], [http://people.nas.nasa.gov/~hjin/home.html Haoqiang Jin], [https://www.linkedin.com/in/robert-hood-250756 Robert Hood], [https://www.linkedin.com/in/david-barker-31484240 David Barker], [https://www.linkedin.com/in/pimehrotra Piyush Mehrotra], [https://www.linkedin.com/in/rupak-biswas-5229805 Rupak Biswas] ('''2011'''). ''The Impact of Hyper-Threading on Processor Resource Utilization in Production Applications''. [https://en.wikipedia.org/wiki/NASA_Advanced_Supercomputing_Division NASA Advanced Supercomputing Division], [https://www.nas.nasa.gov/assets/pdf/papers/saini_s_impact_hyper_threading_2011.pdf pdf], [http://www.nas.nasa.gov/assets/pdf/papers/Saini_etAl_IEEE_HiPC_2011.pdf pdf] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=60979&start=4 Re: lazy smp using ms vs2015 c++11 std::async] by [[Jon Dart]], [[CCC]], July 31, 2016</ref>
* [http://stackoverflow.com/users/5597/anthony-williams Anthony Williams] ('''2012'''). ''[http://www.cplusplusconcurrencyinaction.com/ C++ Concurrency in Action: Practical Multithreading]''. <ref>[http://scottmeyers.blogspot.co.uk/2012/04/information-on-c11-memory-model.html Information on the C++11 Memory Model] by [https://en.wikipedia.org/wiki/Scott_Meyers Scott Meyers], April 24, 2012</ref>
* [https://www.rrze.fau.de/wir-ueber-uns/organigramm/mitarbeiter/index.shtml/georg-hager.shtml Georg Hager] <ref>[https://blogs.fau.de/hager/ Georg Hager's Blog | Random thoughts on High Performance Computing]</ref>, [http://dblp.uni-trier.de/pers/hd/t/Treibig:Jan Jan Treibig], [http://dblp.uni-trier.de/pers/hd/w/Wellein:Gerhard Gerhard Wellein] ('''2013'''). ''The Practitioner's Cookbook for Good Parallel Performance on Multi- and Many-Core Systems''. [https://de.wikipedia.org/wiki/Regionales_Rechenzentrum_Erlangen RRZE], [http://sc13.supercomputing.org/ SC13], [https://blogs.fau.de/hager/files/2013/11/sc13_tutorial_134.pdf slides as pdf]

=Forum Posts=
==1999==
* [http://www.stmintz.com/ccc/index.php?id=48199 Threads] by [[James Robertson]], [[CCC]], April 06, 1999
* [http://www.stmintz.com/ccc/index.php?id=61963 gcc / cygwin threads revisited] by [[James Swafford]], [[CCC]], July 24, 1999
==2000 ...==
* [http://www.stmintz.com/ccc/index.php?id=367073 Re: Stormx is this a Crafty Clone??] by [[Sean Empey]], [[CCC]], May 25, 2004 » [[Windows]]
* [http://www.stmintz.com/ccc/index.php?id=370625 Approaches to threading] by [[Eric Oldre]], [[CCC]], June 15, 2004
* [http://www.stmintz.com/ccc/index.php?id=389667 Kiwi for Win98 and input-reading stuff] by [[Alessandro Scotti]], [[CCC]], September 29, 2004 » [[Kiwi]], [[Windows]], [[Cpp|C++]]
==2005 ...==
* [http://www.stmintz.com/ccc/index.php?id=435053 POSIX threads] by [[Steven Edwards]], [[CCC]], July 05, 2005
* [http://www.open-aurec.com/wbforum/viewtopic.php?f=4&t=5603 Threading issue under Polyglot] by [[Nathan Thom]], [[Computer Chess Forums|Winboard Forum]], September 18, 2006 » [[Polyglot]]
* [http://www.talkchess.com/forum/viewtopic.php?t=14114 pthread weirdness] by [[James Swafford]], [[CCC]], May 29, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=15662 multithreading questions] by [[Martin Fierz]], [[CCC]], August 08, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=16334 Threads and cores questions] by Casey, [[CCC]], September 07, 2007
* [http://www.talkchess.com/forum/viewtopic.php?t=22398 threads vs processes] by [[Robert Hyatt]], [[CCC]], July 16, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=22799 threads vs processes again] by [[Robert Hyatt]], [[CCC]], August 05, 2008
* [http://www.talkchess.com/forum/viewtopic.php?t=26434 Hyperthreading Hype predates Intel] by [[Steven Edwards]], [[CCC]], February 07, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=26782 Multithreaded movepath enumeration (perft)] by [[Steven Edwards]], [[CCC]], February 27, 2009
* [http://www.talkchess.com/forum/viewtopic.php?t=27279 kbhit() taking huge CPU??] by [[John Merlino]], [[CCC]], April 01, 2009 » [[C]]
==2010 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=33705 Stockfish-1.7.0 Hyper-threading Detection] by [[Louis Zulli]], [[CCC]], April 09, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=36465 To hyperthread or not to hyperthread (Crafty tested)] by [[Martin Thoresen]], [[CCC]], October 24, 2010 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=36103 Hyperthreading] by [[Gerd Isenberg]], [[CCC]], September 17, 2010
* [http://www.talkchess.com/forum/viewtopic.php?t=36966 Thread management / organization in parallel processing?] by [[Pham Hong Nguyen|Nguyen Pham]], [[CCC]], December 06, 2010
'''2011'''
* [http://www.talkchess.com/forum/viewtopic.php?t=37896 Have Crafty's threads never gone to sleep?] by [[Pham Hong Nguyen|Nguyen Pham]], [[CCC]], January 31, 2011
* [http://www.talkchess.com/forum/viewtopic.php?t=38411 On parallelization] by [[Onno Garms]], [[CCC]], March 13, 2011
'''2012'''
* [http://www.talkchess.com/forum/viewtopic.php?t=44658 hyper threading and move generation] by [[Gabor Buella]], [[CCC]], August 01, 2012 » [[Move Generation]]
'''2013'''
* [http://www.open-chess.org/viewtopic.php?f=5&t=2262 Multi-threaded memory access] by [[Vadim Demichev|ThinkingALot]], [[Computer Chess Forums|OpenChess Forum]], February 10, 2013 » [[Memory]], [[Shared Hash Table]]
* [http://www.talkchess.com/forum/viewtopic.php?t=47757 Hyperthreading and Computer Chess: Intel i5-3210M] by [[Michael Scheidl|Mike Scheidl]], [[CCC]], April 12, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=47820 Implementation of multithreaded search in Jazz] by [[Evert Glebbeek]], [[CCC]], April 20, 2013 » [[Parallel Search]], [[Jazz]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48612 use sleeping threads] by [[Don Dailey]], [[CCC]], July 10, 2013 » [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48795 C++ Question] by Ted Wong, [[CCC]], July 30, 2013 » [[Cpp|C++]]
* [http://www.talkchess.com/forum/viewtopic.php?t=48911 Writing to a Text File (Thread Safe)] by [[Steve Maughan]], [[CCC]], August 10, 2013 » [[Logging]]
* [http://www.talkchess.com/forum/viewtopic.php?t=49540 SMP and Thread Pool Design pattern] by [[Edsel Apostol]], [[CCC]], October 02, 2013
* [http://www.talkchess.com/forum/viewtopic.php?t=49592 Multithreaded LRU] by [[Alvaro Cardoso]], [[CCC]], October 06, 2013 » [[Memory]], [[Endgame Tablebases]]
'''2014'''
* [http://www.open-chess.org/viewtopic.php?f=5&t=2618 C++11 threads seem to get shafted for cycles] by [[Dann Corbit|User923005]], [[Computer Chess Forums|OpenChess Forum]], March 18, 2014 » [[Cpp|C++]], [[Parallel Search]], [[Senpai]]
* [http://www.talkchess.com/forum/viewtopic.php?t=51655 Threads-Test] by [[Andreas Strangmüller]], [[CCC]], March 18, 2014 » [[Parallel Search]], [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=52219 Threads-Test - SF, Zappa, Komodo - 1 vs. 2, 4, 8, 16 Threads] by [[Andreas Strangmüller]], [[CCC]], May 04, 2014 » [[Stockfish]], [[Zappa]], [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?p=570955 Threads factor: Komodo, Houdini, Stockfish and Zappa] by [[Andreas Strangmüller]], [[CCC]], May 17, 2014 » [[Komodo]], [[Houdini]], [[Stockfish]], [[Zappa]]
* [http://www.talkchess.com/forum/viewtopic.php?t=53063 TinyThread++] by [[Alberto Sanjuan]], [[CCC]], July 24, 2014 <ref>[http://tinythreadpp.bitsnbites.eu/ TinyThread++ - Portable thread library for C++]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=53230 Best way to handle input thread] by [[Stefano Gemma]], [[CCC]], August 09, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53806 (Why) Is hyperthreading bad for chess engines?] by [[Syed Fahad]], [[CCC]], September 23, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=53995 Threads test incl. Stockfish 5 and Komodo 8] by [[Andreas Strangmüller]], [[CCC]], October 09, 2014
* [http://www.talkchess.com/forum/viewtopic.php?t=54009 Threads test - Stockfish 5 against Komodo 8] by [[Andreas Strangmüller]], [[CCC]], October 10, 2014 » [[Thread]], [[Parallel Search]], [[Stockfish]], [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=54059 Threads test incl. Crafty 24.1] by [[Andreas Strangmüller]], [[CCC]], October 15, 2014 » [[Crafty]]
* [http://www.talkchess.com/forum/viewtopic.php?t=54133 Current data - threads-nps efficiency up to 32 threads] by [[Andreas Strangmüller]], [[CCC]], October 24, 2014
==2015 ...==
* [http://www.talkchess.com/forum/viewtopic.php?t=55352 Stockfish with 16 threads - big news?] by [[Louis Zulli]], [[CCC]], February 15, 2015
: [http://www.talkchess.com/forum/viewtopic.php?t=55368 Explanation for non-expert?] by [[Louis Zulli]], [[CCC]], February 16, 2015 » [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=55740 Thread count limits and core counts] by [[Steven Edwards]], [[CCC]], March 22, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56081 Thread synchronization questions for experts] by [[Steven Edwards]], [[CCC]], April 21, 2015 » [[Symbolic]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56113 A cautionary tale on thread safety] by [[Steven Edwards]], [[CCC]], April 25, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56327 A Nice routine] by [[Steven Edwards]], [[CCC]], May 12, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=56523 Deep split perft()] by [[Steven Edwards]], [[CCC]], May 29, 2015 » [[Perft]], [[Symbolic]]
* [http://www.talkchess.com/forum/viewtopic.php?t=56858 thread affinity] by [[Martin Sedlak]], [[CCC]], July 03, 2015
* [http://www.talkchess.com/forum/viewtopic.php?t=58236 Stockfish now benefits from hyperthreading] by [[Dmitri Gusev]], [[CCC]], November 12, 2015 » [[Stockfish]]
'''2016'''
* [http://www.talkchess.com/forum/viewtopic.php?t=58882 Using more than 1 thread in C beginner question] by [[Uri Blass]], [[CCC]], January 11, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=58887 Threads test incl. Stockfish 7] by [[Andreas Strangmüller]], [[CCC]], January 11, 2016 » [[Parallel Search]], [[Stockfish]]
* [http://www.talkchess.com/forum/viewtopic.php?t=58950 Threads test incl. Komodo 9.3] by [[Andreas Strangmüller]], [[CCC]], January 17, 2016 » [[Komodo]]
* [http://www.talkchess.com/forum/viewtopic.php?t=59423 threading] by [[Folkert van Heusden]], [[CCC]], March 03, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=60979 lazy smp using ms vs2015 c++11 std::async] by [[Edward Yu]], [[CCC]], July 29, 2016 » [[Lazy SMP]] <ref>[http://en.cppreference.com/w/cpp/thread/async std::async - cppreference.com]</ref>
* [http://www.talkchess.com/forum/viewtopic.php?t=61349 Baffling multithreading scaling behavior] by [[Tom Kerrigan]], [[CCC]], September 06, 2016
: [http://www.talkchess.com/forum/viewtopic.php?t=61349&start=16 Re: Baffling multithreading scaling behavior] by [[Robert Hyatt]], [[CCC]], September 07, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=61408 Some hyperthreading results] by [[Kai Laskos]], [[CCC]], September 12, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=62146 Stockfish 8 - Double time control vs. 2 threads] by [[Andreas Strangmüller]], [[CCC]], November 15, 2016 » [[Match Statistics#DoublingTC|Doubling TC]], [[Depth#DiminishingReturns|Diminishing Returns]], [[Playing Strength]], [[Stockfish]]
* [http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=31863 Hyperthreading debate reopened?] by Zat, [[Computer Chess Forums|Rybka Forum]], December 03, 2016
* [http://www.talkchess.com/forum/viewtopic.php?t=62622 Diminishing returns and hyperthreading] by [[Kai Laskos]], [[CCC]], December 27, 2016 » [[Depth#DiminishingReturns|Diminishing Returns]], [[Match Statistics]], [[Playing Strength]]
* [http://www.talkchess.com/forum/viewtopic.php?t=64441 Core behaviour] by [[Ed Schroder]], [[CCC]], June 28, 2017 » [[Engine Testing]]
* [http://www.talkchess.com/forum/viewtopic.php?t=65844 Lazy SMP >4 Thread Slowdown] by [[Can Cetin]], [[CCC]], November 29, 2017 » [[Lazy SMP]]
: [http://www.talkchess.com/forum/viewtopic.php?t=65844&start=4 Re: Lazy SMP >4 Thread Slowdown] by [[Ronald de Man]], [[CCC]], November 29, 2017
* [http://www.talkchess.com/forum/viewtopic.php?t=67186 More questions about threads] by [[Patrice Duhamel]], [[CCC]], April 21, 2018 » [[Young Brothers Wait Concept]]

=External Links=
==Thread==
* [https://en.wikipedia.org/wiki/Thread_%28computing%29 Thread (computing) from Wikipedia]
* [https://en.wikipedia.org/wiki/Thread_safety Thread safety from Wikipedia]
* [https://en.wikipedia.org/wiki/Thread_pool_pattern Thread pool pattern from Wikipedia]
* [https://en.wikipedia.org/wiki/Thread-local_storage Thread-local storage from Wikipedia]
* [https://en.wikipedia.org/wiki/Light-weight_process Light-weight process from Wikipedia]
* [https://en.wikipedia.org/wiki/Fiber_%28computer_science%29 Fiber (computer science) from Wikipedia]
* [https://en.wikipedia.org/wiki/Green_threads Green threads from Wikipedia]
* [https://en.wikipedia.org/wiki/Coroutine Coroutines from Wikipedia]
* [http://www.dmoz.org/Computers/Programming/Threads/ Open Directory - Computers: Programming: Threads]
* [https://en.wikipedia.org/wiki/Thread Thread (disambiguation page) from Wikipedia]
==Multithreading==
* [https://en.wikipedia.org/wiki/Multithreading_%28computer_architecture%29 Multithreading from Wikipedia]
* [https://en.wikipedia.org/wiki/Simultaneous_multithreading Simultaneous multithreading from Wikipedia]
* [https://en.wikipedia.org/wiki/Temporal_multithreading Temporal multithreading from Wikipedia]
* [https://en.wikipedia.org/wiki/Processor_affinity Processor affinity from Wikipedia]
* [https://en.wikipedia.org/wiki/Super-threading Super-threading from Wikipedia]
* [https://en.wikipedia.org/wiki/Hyper-threading Hyper-threading from Wikipedia]
==Posix==
* [https://en.wikipedia.org/wiki/Native_POSIX_Thread_Library Native POSIX Thread Library from Wikipedia]
* [https://en.wikipedia.org/wiki/GNU_Portable_Threads GNU Portable Threads]
* [https://en.wikipedia.org/wiki/LinuxThreads LinuxThreads from Wikipedia]
* [https://en.wikipedia.org/wiki/FSU_Pthreads FSU Pthread from Wikipedia]
* [http://www.ibm.com/developerworks/library/l-posix1/index.html POSIX threads explained] by [http://www.ibm.com/developerworks/library/l-posix1/index.html#author1 Daniel Robbins], [http://www.ibm.com/developerworks/ IBM developerWorks]
* [http://sourceware.org/pthreads-win32/ POSIX Threads (pthreads) for Win32] (win64 <ref>[https://code.google.com/p/libusb-winusb-wip/downloads/detail?name=pthread-win32_x64.zip&can=2&q= pthread-win32_x64.zip - libusb-winusb-wip]</ref>)
==[[Windows]]==
* [http://msdn.microsoft.com/en-us/library/windows/desktop/ms686937%28v=VS.85%29.aspx Using Processes and Threads], [http://msdn.microsoft.com/en-us/windows/desktop Windows Desktop Development]
: [http://msdn.microsoft.com/en-us/library/windows/desktop/ms682516%28v=vs.85%29.aspx Creating Threads]
* [http://msdn.microsoft.com/en-us/library/ms684841%28v=VS.85%29.aspx Processes and Threads, MSDN]
* [http://msdn.microsoft.com/en-us/library/kdzttdcb%28v=VS.100%29.aspx _beginthread, _beginthreadex, MSDN]
* [http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx Thread Class (System.Threading) .NET. MSDN]
* [https://en.wikipedia.org/wiki/Win32_Thread_Information_Block Win32 Thread Information Block from Wikipedia]
* [http://www.relisoft.com/win32/active.html Windows API Tutorial: Using Threads], [http://www.relisoft.com/index.htm Reliable Software]
* [http://download.microsoft.com/download/5/b/3/5b38800c-ba6e-4023-9078-6e9ce2383e65/c06x1116607.pdf Processes, Threads, and Jobs] (pdf) from [http://www.microsoft.com/learning/en/us/book.aspx?ID=6710&locale=en-us Microsoft® Windows® Internals, Fourth Edition: Windows 2000, Windows XP, and Windows Server 2003] by [http://www.solsem.com/ David Solomon] and [https://en.wikipedia.org/wiki/Mark_Russinovich Mark Russinovich]
==[[Cpp|C++]]==
* [http://ludwig.csie.ncku.edu.tw/members/alvin/2010_9/ESL/C++_Process_2010.pdf Brief Review to C++ / Process / Thread] (pdf)
* [http://ftp.dreamtime.org/pub/programming/c++/orbacus-jtc/2.0/JTC-2.0.0.pdf JThreads/C++ - “Java-like Threads for C++”] (pdf)
* [http://www.boost.org/doc/libs/1_47_0/doc/html/thread.html Chapter 24. Thread - Boost 1.47.0] by [http://stackoverflow.com/users/5597/anthony-williams Anthony Williams]
* [http://doc.qt.nokia.com/latest/threads.html Qt 4.7: Thread Support in Qt]
* [http://alaric.fendrich.se/Downloads.html#Topic7 Input thread, code] from [[Alaric]] Downloads by [[Peter Fendrich]]
* [http://tinythreadpp.bitsnbites.eu/ TinyThread++ - Portable thread library for C++] <ref>[http://www.talkchess.com/forum/viewtopic.php?t=53063 TinyThread++] by [[Alberto Sanjuan]], [[CCC]], July 24, 2014</ref>
==[[Java]]==
* [http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Thread.html Thread (Java 2 Platform SE 5.0)]
* [http://docs.oracle.com/javase/tutorial/essential/concurrency/procthread.html Processes and Threads (The Java™ Tutorials > Essential Classes > Concurrency)]
==[[GPU]]==
* [https://en.wikipedia.org/wiki/Parallel_Thread_Execution Parallel Thread Execution from Wikipedia] » [[SIMD and SWAR Techniques]]

=References=
<references />

'''[[Programming|Up one Level]]'''

Navigation menu