What Are Threads?

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/Multithreading/AboutThreads/AboutThreads.html#//apple_ref/doc/uid/10000057i-CH6-SW3

From a technical standpoint, a thread is a combination of the kernel-level and application-level data structures needed to manage the execution of code. The kernel-level structures coordinate the dispatching of events to the thread and the preemptive scheduling of the thread on one of the available cores. The application-level structures include the call stack for storing function calls and the structures the application needs to manage and manipulate the thread’s attributes and state.

Threading Terminology

Before getting too far into discussions about threads and their supporting technologies, it is necessary to define some basic terminology. 

If you are familiar with UNIX systems, you may find that the term “task” is used differently by this document. On UNIX systems, the term “task” is used at times to refer to a running process.

This document adopts the following terminology:

  • The term thread is used to refer to a separate path of execution for code.

  • The term process is used to refer to a running executable, which can encompass multiple threads.

  • The term task is used to refer to the abstract concept of work that needs to be performed.

posted @ 2017-04-24 15:33  zzfx  阅读(147)  评论(0编辑  收藏  举报