Title: Confusing with technical terminology between Thread and Queue
Tags: ios;multithreading;data-structures;multitasking
Question: I am newer to iPhone development. With focusing on develop multi-threading Apps, I have referred to some Apple documents and others explaining thread and multi-threading concepts. But as far as work-queue is concerned, I am confused in understanding relation between Thread, Task and Queue. Some documents says, a thread can have multiple tasks and those tasks is stored in queue, thus each thread may have its own queue. Whereas, some says that, threads themselves are stored in queue.
My question is, can we say:
(1) Threads can have multiple Tasks and those task are stored and managed inside a Queue of that thread.
(2) Threads themselves are stored and managed inside a Queue.
Secondly, I also read something like this:
Another advantage of using a thread pool over creating a new thread for each task is thread creation and destruction overhead is negated.
Is thread pool synonym for work-queue?

Here is the accepted answer: I am clear now.
Thread and queue is totally different things. Thread is separate code of execution while queue is data structure for maintaining tasks. A thread can have multiple tasks and all threads may be created for particular goal that is Process. A thread has its own space in memory for its variables and other things.
So, in multi-threading programming, queue is a mechanism that handle sequence of tasks to be executed. Queue always executes tasks in serial order. However, if we want to execute tasks concurrently, we would have to create concurrent queues. Thus multiple queues can executed concurrently benefiting multiprogramming. With latest API, it is upto operating system that how to schedule those tasks. Tasks may or may not be executed on separate thread. Structure always depends on our requirement.


{'source': 'StackExchangeDataset', 'subset': 'stackoverflow.com', 'metadata': {'AnswerCount': 1, 'CommentCount': 0, 'ContentLicense': 'CC BY-SA 4.0', 'CreationDate': '2014:00:09/08/14', 'FavoriteCount': 1.0, 'PostTypeId': 1, 'Tags': '<ios><multithreading><data-structures><multitasking>', 'Title': 'Confusing with technical terminology between Thread and Queue', 'ViewCount': 122, 'id': 25722452, 'user_AboutMe': '<h1>SOreadytohelp</h1>\n\n<ul>\n<li>I am a direct sub-class of NSObject !</li>\n<li>I was not born, I was compiled !</li>\n<li>I only understand binary language !</li>\n</ul>\n\n<p><strong>I am so innovative person. Like to play with new technologies. Be aware of the new things available in technology world. I always do the things what I am interested in...</strong></p>\n\n<p><a href="https://i.stack.imgur.com/uVAFS.gif" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/uVAFS.gif" alt="enter image description here"></a></p>\n', 'user_AccountId': 1459679.0, 'user_DisplayName': 'NSPratik', 'user_Reputation': 4566.0, 'user_Views': 1303.0, 'user_id': 1374327.0}}