Share on Facebook Share on Twitter Email
Answers.com

thread

Did you mean: thread (in textile), AN thread, Thread (Pern), Units of textile measurement, Thread (performed by Lo-Pro), Thread (performed by k.d. lang), Thread (1998 Album by Box Set) More...

 
Dictionary: thread   (thrĕd) pronunciation
 
n.
    1. Fine cord of a fibrous material, such as cotton or flax, made of two or more filaments twisted together and used in needlework and the weaving of cloth.
    2. A piece of such cord.
    1. A thin strand, cord, or filament of natural or manufactured material.
    2. Something that suggests the fineness or thinness of such a strand, cord, or filament: a thread of smoke.
    3. Something that suggests the continuousness of such a strand, cord, or filament: lost the thread of his argument.
  1. A helical or spiral ridge on a screw, nut, or bolt.
  2. Computer Science.
    1. A portion of a program that can run independently of and concurrently with other portions of the program.
    2. A set of posts on a newsgroup, composed of an initial post about a topic and all responses to it.
  3. threads Slang. Clothes.

v., thread·ed, thread·ing, threads.

v.tr.
    1. To pass one end of a thread through the eye of (a needle, for example).
    2. To pass (something) through in the manner of a thread: thread the wire through the opening.
    3. To pass a tape or film into or through (a device): thread a film projector.
    4. To pass (a tape or film) into or through a device.
  1. To connect by running a thread through; string: thread beads.
    1. To make one's way cautiously through: threading dark alleys.
    2. To make (one's way) cautiously through something.
  2. To occur here and there throughout; pervade: “More than 90 geologic faults thread the Los Angeles area” (Science News).
  3. To machine a thread on (a screw, nut, or bolt).
v.intr.
  1. To make one's way cautiously: threaded through the shoals and sandbars.
  2. To proceed by a winding course.
  3. To form a thread when dropped from a spoon, as boiling sugar syrup.

[Middle English, from Old English thrǣd.]

threader thread'er n.
Search unanswered questions...
Enter a word or phrase...
All Community Q&A Reference topics
 
How Products are Made: How is thread made?
Top

Background

Thread is a tightly twisted strand of two or more plys of yarn that are circular when cut in cross section. It is used for hand sewing and in home sewing machines. Ninety-five percent of all sewing thread that is manufactured is used in commercial and industrial sewing. Sewing thread is distinguished from yarn by the fact that thread is used to sew together garments or other products, but yarn is the collection of fibers used to weave or knit into a textile fabric. The terms are confusing and are often used interchangeably; thread can be made of yarn, but yarn is not made of threads.

Thread is wound on spools or large cones that are marked on their ends with the size or fineness of the thread. Thread for handwork and machines (both home and commercial machines) has to be smooth and friction-free. It should be easy to thread through needles, and it should move easily when tension is applied to it. Strength to hold stitches when garments are being worn and during laundering is a requirement, as is elasticity during stitching and wear.

The three basic types of thread are based on their origin and are animal, plant, or synthetic. Silk thread is best for wools and silks (fabrics of animal origin). It is strong, very elastic, and fine in diameter. Silk is also used for tailoring, to finish the edges of buttonholes, to sew on buttons, and for decoration. Buttonhole twist is about three times the diameter of sewing silk and shiny or lustrous. It is strong and can be permanently stretched.

Cotton threads are made of the cellulose from plants and are used to stitch fabrics like linen, rayon, and cotton that also have plant origins. Plant-based fabrics may shrink, and cotton thread has the same shrinkage characteristics. Also, cotton thread does not stretch, so it is useful for woven fabrics but not stretchy knits. Cotton is also used to make basting thread that is used to hold pieces of a garment together temporarily until the garment is sewn. Cotton basting thread is inexpensive and is loosely twisted so it can be broken easily and pulled out when permanent stitching is in place.

Nylon and polyester threads are preferred for synthetics and stretch knits. Both types of synthetic threads have the same characteristics including no shrinkage, high strength, and excellent abilities to stretch and recover that make them suitable for knits, preshrunk fabrics, and sheers. Nylon and polyester are the only threads that can be made from a single yarn or single ply. Nylon thread was popular in the 1960s and 1970s because it is clear and so matches any fabric; however, nylon's stretching properties and relative brittleness also work as disadvantages, and this thread has become less popular. Synthetic threads are marketed under a variety of names including polypropylene, Kevlar, Teflon, and Nomex. Production of Kevlar and Nomex is reviewed and approved by Underwriters Laboratories because these threads are used to stitch fire-resistant and -retardant products such as suits for firefighters and motor racing drivers as well as sleepers and crib linens for infants.

Specialized thread is also treated after spinning and depending on use. Garments made of fabric treated with water repellant are also sewn with treated thread. Metallic thread is used for decoration, but it is sensitive to heat and steam and must be handled with care. Mending thread is made in the same types as those sold on spools, but it comes in short lengths so it is economical to buy a small amount. Upholstery thread is reinforced for strength so it can be used to upholster furniture. Its opposite is invisible thread that is very fine and made from nylon to be strong. Invisible thread is used to sew light- to medium-weight synthetic fabrics. Other specialized threads are made for decorative sewing like needlepoint. These include soft cotton embroidery thread, cotton perle that is twisted and has a lustrous or pearl-like finish, stranded cotton with six fine strands that can be used together or separated for finer stitching, tapestry wool for decorative work, and mending yarn for reinforcing and darning.

Thread can also be made of combinations of fiber. Thread with a core of polyester and an outer wrap of cotton, spun polyester, or rayon combines the characteristics of both fibers, with the outer fiber creating the appearance or finish of the thread.

History

Thread has been essential to humans since the first garments were made for warmth and protection. Early sewing thread consisted of thin strips of animal hide that were used to stitch together larger pieces of hide and fur. The advance of civilizations brought many refinements in clothing and adornments, including the spinning and dyeing of thread. The Egyptians were skilled at making thread from plant fibers and in using the wool and hair from domestic animals in spinning. They and the Phoenicians also pioneered the use of berries and plant matter in the manufacture of colorful and longlasting dyes. The Chinese and Japanese discovered the beauties of silk fibers spun as thread and made as cloth.

Sewing thread had at least two historical heydays. In the Middle Ages, improvements in shipping, wool production and processing, and the opening of the Silk Road to Asia provided fertile ground for the flowering of woven tapestries and needlework. Tapestries were an art form that allowed large spaces to be filled with colorful scenes that were also portable. Tapestries were woven of wool yarn primarily, but linen, cotton, silk, and gold and silver were also used in weaving these magnificent paintings in fiber. Seamstresses and needleworkers were inspired to use the same materials in smaller works stitched with sewing or embroidery thread.

During the Industrial Revolution in the seventeenth and eighteenth centuries, production of thread moved out of the cottages and into factories equipped with high-speed machines. Machine manufacture generated more uniform thread with fewer flaws, and producers could devote more time to maximizing the characteristics of the types of fibers being used. Stronger thread, truer dye colors, and production of a wider variety of thread for different applications were among the direct results.

Raw Materials

Silk thread

Silk worms produce cocoons from which silk is made. The female silk worms feed on mulberry leaves until the worms mature and begin to spin cocoons. The worm secretes the silk thread from specialized glands below its mouth. It completes the cocoon around itself; over a two- to three-week period, it becomes a pupa then a moth. The cocoons can be harvested when the pupas are still inside so that so-called nett silk can be produced; cocoons are also collected after the moths have hatched, and silk from these is termed Schappe silk.

Cotton thread

Cotton is picked from cotton plants in the field and compressed into large bales. The bales often contain dirt, broken pieces of cotton boll, seeds, and other impurities, so cleaning is a first step at the mill. The bale is broken, the fibers are opened by a comb-like device, mixed together, and cleaned. The cleaned cotton fibers are termed laps. The laps are fed into a carding machine that separates the fibers. Further cleaning, combing, and sorting readies the fibers for processing into thread.

Polyester thread

Polyester is a petroleum product. During the cracking process, crude oil is broken down into a number of components that will be processed into a range of products from gasoline to plastics including polyester. Xylene, a hydrocarbon compound, is generated during cracking. Nitric acid and glycol are added to modify the xylene by a series of chemical reactions. The fluid is heated and condensed in an autoclave, and the molecules align to form long molecules called polyester. The resulting mass is extruded, cooled with water, and cut into chips. These chips are shipped from the refinery to the thread manufacturer for spinning.

Design

Engineers who design sewing thread are called seam engineers. They are experienced in the practical aspects of sewing, sewing machine operation, and clothing manufacture. When a new sewing thread is designed, the needs of the specific market are analyzed carefully, and a prototype thread is produced and tested under actual use conditions. The best thread products are needed to meet the demands of new and everchanging markets.

The Manufacturing
Process

Nett silk

  • Cocoons containing the pupas are heated with air to keep the pupas inside.
  • The cocoons are immersed in water and a brushing motion unwraps the silk thread; a single thread can be up to 1,000 yd (3,000 m) long.
  • Several threads from the same cocoon are wound together in long loops or hanks to produce a single yarn. Three of these single yarns are twisted to produce nett silk thread. More than three single yarns can be used depending on the planned use of the thread.

Schappe silk

  • Schappe silk is made from cocoons from which the silk moths have hatched. This matured material is tougher than nett silk cocoons and must be softened, washed, and dried.
  • The cocoons are passed through steel rollers with combs to produce bundles of long, straight fibers of silk called combed top or peigné.
  • Several bundles are grouped together to form a band that is also combed into a narrower band and fed through rotating rollers. The emerging yarn is slightly twisted and is called the roving.
  • The roving is spun to form a single thread, and several single threads are wound together, twisted, and fed onto a bobbin or cone.

Cotton thread

  • Cleaned, combed, and sorted cotton is fed through a series of rollers in a process called drawing that generates a narrow band of cotton fiber.
  • The fiber is slightly twisted to form roving, and the roving is drawn and twisted again.
  • It is spun to form a single thread that is wound and twisted with others to form the thread.
  • Cotton thread is singed over an open flame and mercerized by immersion in caustic soda. These processes strengthen the thread and give it a lustrous finish. The treated cotton thread is wound on bobbins or cones.

Spun polyester thread

  • The chips of polyester received from the refinery are spun into long filaments that are banded together to form polyester tow. Tow contains more than 170,000 continuous, fine, parallel filaments in a long band.
  • The tow is stretched to the breaking point so that weaknesses in the filaments are exposed. The weak points are cut out, and fibers that are 2.5-4.75 in (60-120 mm) are produced.
  • These resulting strong fibers are banded together again in parallel, and several bands are combined until a narrow, even, high-quality band of parallel fibers results.
  • These bands are further stretched and slightly twisted into roving, and the roving is spun and twisted into single thread. The drawing and twisting process stretches the fibers up to 10-20 times their length in the tow stage, and the spindles on the spinning machines that do this work turn at 12,000 revolutions per minute.

Dyeing and packaging finished
thread

All types of thread may be finished in similar ways.

  • After manufacture, the thread is dyed. Dye is mixed in large vats; several hundred colors can be produced, and dye mixing is controlled by computer. Large cones or bobbins of manufactured thread are lowered into pressurized vessels, and the dye (and other additives) are released into the vessels by computer. After it is removed from the dyeing vessel, the thread is dried for 24 hours. About 6.6 tons (6 metric tons) of thread can be dyed in one day; this equals 66 million yd (200 million m) of sewing thread or enough to circle the equator five times.
  • The dyed thread is wound on smaller spools for industrial or home use, and the spools are packed into boxes for shipment. Optical devices monitor the spool winding and packing processes.

Quality Control

Thread must emerge from the factory with a great combination of performance characteristics. During its lifetime, thread will be passed through a number of metal guides on a sewing machine, held in tension by the sewing machine needle and subjected to its action, bent into position from the bobbin to interlock with the thread from the needle, stretched and abraded when the garment is worn, and laundered or dry cleaned many times. Thread functions not only to clothe but to protect us. We count on the thread in products like shoes and automobile safety belts to protect us throughout the life of the product.

Product manufacturers place considerable demand on thread makers to improve the quality of thread and to adapt to demands of the workplace. For example, a lubricating finish is applied to thread that is used to stitch thermoplastic materials so the sewing machine needle is constantly lubricated to prevent its frictional heat from rising and fusing the material.

Production of almost all types of threads is fully automated. A device called an Autoconer monitors the thread quality, cuts out imperfections, and rejoins the ends to produce an even thread without knots, joins, or weak areas.

Byproducts/Waste

Cotton thread production results in more waste than the manufacture of other types of thread because of the parts of the cotton that cannot be used. The volume is still relatively minor but must be disposed. Imperfect fibers and fiber dust are generated in the early stages of production and, again, must be disposed.

The Future

In the future, the manufacture of thread must continue to adapt to new types of fabric and clothing design and production. Futurists may predict that clothing and its varieties will become obsolete; however, the reality is that the consumer wants to express personality through a closet filled with clothing for a variety of activities. And this clothing is sewn together with specialized threads.

Where to Learn More

Books

Cream, Penelope, ed. The Complete Book of Sewing. New York: DK Publishing, Inc., 1996.

Hollen, Norma and Jane Saddler. Textiles. New York: The Macmillan Company, 1968.

Tortora, Phyllis G. Understanding Textiles. New York: The Macmillan Company, 1992.

Other

Coats & Clarke, North America. http://www.coats.com.

Coats Viyella PLC, Thread Division. http://www.coats-viyella.co.uk.

Gütermann of America, Inc., and Gütermann AG, Germany. http://www.guetermann.com.

Saunders Thread Company. http://www.saunders-thread.com/sewing.html.

Synthetic Thread Company. http://www.syntheticthread.com.

[Article by: Gillian S. Holmes]


 

(1) One subprocess in a multithreaded system. See multithreading.

(2) A sequence of messages on the same topic in an Internet newsgroup, forum, blog or groupware program. See message thread.

Download Computer Desktop Encyclopedia to your iPhone/iTouch

 

A series of bulletin board or Newsgroup postings on a particular topic. For example, one user may post a question, and all replies (which repeat the original header prefixed by Re:) will be displayed appended to the original question.

 
Thesaurus: thread
Top

noun

  1. A very fine continuous strand: fiber, fibril, filament. See thing.
  2. Something that suggests the continuousness of a fine continuous filament: skein, strand. See continue/stop/pause.
  3. Articles worn to cover the body. apparel, attire, clothes, clothing, dress, garment (used in plural), habiliment (often used in plural), raiment. Informal dud (used in plural), tog (used in plural). See put on/take off.

verb

    To put (objects) onto a fine continuous filament: string. See order/disorder.

 
Hacker Slang: thread
Top

[Usenet, GEnie, CompuServe] Common abbreviation of topic thread, a more or less continuous chain of postings on a single topic. To follow a thread is to read a series of Usenet postings sharing a common subject or (more correctly) which are connected by Reference headers. The better newsreaders can present news in thread order automatically. Not to be confused with the techspeak sense of ‘thread’, e.g. a lightweight process.

Interestingly, this is far from a neologism. The OED says: “That which connects the successive points in anything, esp. a narrative, train of thought, or the like; the sequence of events or ideas continuing throughout the whole course of anything;” Citations are given going back to 1642!


 

Tightly twisted yarn consisting of several strands that has a circular cross-section and is used in commercial and home sewing machines and for hand sewing. Thread is usually wound on spools, with thread size (degree of fineness) indicated on the spool end. Cotton thread can be used with fabrics made from yarn of plant origin, such as cotton and linen, and with rayon (made from cellulose, a plant substance). Silk thread is suitable for silks and wools, both of animal origin. Nylon and polyester threads are appropriate for synthetics and for knits with a high degree of stretch.

For more information on thread, visit Britannica.com.

 
Architecture: thread
Top

The prominent spiral part of a screw; a ridge of uniform section in the form of a helix on

thread: terminology
the external or internal surface of a cylinder. Also see taper thread.

 
thread, a fine twist of fibrous material, distinguished from yarn in general by being smoother, stronger, and more pliable; it is also better suited to sewing, embroidery, and lace making. Sewing or spool cotton is made by twisting several fine strands into three-cord or six-cord thread, the latter being three two-ply strands twisted together. The size is controlled by the twisting process. The fine linen thread used in making expensive laces is spun by hand and is very costly. Synthetic threads, such as nylon, are most often used for heavy-duty sewing in carpets, shoes, and heavy canvases. Many ordinary sewing threads now contain some proportion of synthetic fiber.


 
Word Tutor: thread
Top
pronunciation

IN BRIEF: n. - A fine cord of twisted fibers (of cotton or silk or wool or nylon etc.) used in sewing and weaving.

pronunciation Friendship is the golden thread that ties the heart of all the world. — John Evelyn

 
Dream Symbol: Thread
Top

Thread sometimes represents the link one has to this world, such as the umbilical cord. Thread also suggest binding together and strengthening. The dreamer may be strengthening commitments or relationships.


 
Wikipedia: Thread (computer science)
Top
A process with two threads of execution.

In computer science, a thread of execution results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources.

On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will generally run at the same time, with each processor or core running a particular thread or task. Support for threads in programming languages varies: a number of languages simply do not support having more than one execution context inside the same program executing at the same time. Examples of such languages include Python, and OCaml, because the parallel support of their runtime support is limited by the use of a central lock, called "Global Interpreter Lock" in Python, "master lock" in Ocaml. Other languages may be limited because they use threads that are user threads, which are not visible to the kernel, and thus cannot be scheduled to run concurrently. On the other hand, kernel threads, which are visible to the kernel, can run concurrently.

Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a kernel thread, whereas a lightweight process (LWP) is a specific type of kernel thread that shares the same state and information.

Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad-hoc time-slicing.

Contents

Threads compared with processes

Threads differ from traditional multitasking operating system processes in that:

  • processes are typically independent, while threads exist as subsets of a process
  • processes carry considerable state information, where multiple threads within a process share state as well as memory and other resources
  • processes have separate address spaces, where threads share their address space
  • processes interact only through system-provided inter-process communication mechanisms.
  • Context switching between threads in the same process is typically faster than context switching between processes.

Systems like Windows NT and OS/2 are said to have "cheap" threads and "expensive" processes; in other operating systems there is not so great a difference except the cost of address space switch which implies a TLB flush.

Multithreading: Advantages/Uses

Multithreading as a widespread programming and execution model allows multiple threads to exist within the context of a single process. These threads share the process' resources but are able to execute independently. The threaded programming model provides developers with a useful abstraction of concurrent execution. However, perhaps the most interesting application of the technology is when it is applied to a single process to enable parallel execution on a multiprocessor system.

This advantage of a multithreaded program allows it to operate faster on computer systems that have multiple CPUs, CPUs with multiple cores, or across a cluster of machines — because the threads of the program naturally lend themselves to truly concurrent execution. In such a case, the programmer needs to be careful to avoid race conditions, and other non-intuitive behaviors. In order for data to be correctly manipulated, threads will often need to rendezvous in time in order to process the data in the correct order. Threads may also require atomic operations (often implemented using semaphores) in order to prevent common data from being simultaneously modified, or read while in the process of being modified. Careless use of such primitives can lead to deadlocks.

Another advantage of multithreading, even for single-CPU systems, is the ability for an application to remain responsive to input. In a single threaded program, if the main execution thread blocks on a long running task, the entire application can appear to freeze. By moving such long running tasks to a worker thread that runs concurrently with the main execution thread, it is possible for the application to remain responsive to user input while executing tasks in the background.

Operating systems schedule threads in one of two ways:

  1. Preemptive multithreading is generally considered the superior approach, as it allows the operating system to determine when a context switch should occur. The disadvantage to preemptive multithreading is that the system may make a context switch at an inappropriate time, causing priority inversion or other negative effects which may be avoided by cooperative multithreading.
  2. Cooperative multithreading, on the other hand, relies on the threads themselves to relinquish control once they are at a stopping point. This can create problems if a thread is waiting for a resource to become available.

Traditional mainstream computing hardware did not have much support for multithreading as switching between threads was generally already quicker than full process context switches.[clarification needed] Processors in embedded systems, which have higher requirements for real-time behaviors, might support multithreading by decreasing the thread-switch time, perhaps by allocating a dedicated register file for each thread instead of saving/restoring a common register file. In the late 1990s, the idea of executing instructions from multiple threads simultaneously has become known as simultaneous multithreading. This feature was introduced in Intel's Pentium 4 processor, with the name hyper threading

Processes, kernel threads, user threads, and fibers

A process is the "heaviest" unit of kernel scheduling. Processes own resources allocated by the operating system. Resources include memory, file handles, sockets, device handles, and windows. Processes do not share address spaces or file resources except through explicit methods such as inheriting file handles or shared memory segments, or mapping the same file in a shared way. Processes are typically preemptively multitasked.

A kernel thread is the "lightest" unit of kernel scheduling. At least one kernel thread exists within each process. If multiple kernel threads can exist within a process, then they share the same memory and file resources. Kernel threads are preemptively multitasked if the operating system's process scheduler is preemptive. Kernel threads do not own resources except for a stack, a copy of the registers including the program counter, and thread-local storage (if any).

Threads are sometimes implemented in userspace libraries, thus called user threads. The kernel is not aware of them, they are managed and scheduled in userspace. Some implementations base their user threads on top of several kernel threads to benefit from multi-processor machines (N:M model). In this article the term "thread" (without kernel or user qualifier) defaults to referring to kernel threads. User threads as implemented by virtual machines are also called green threads.

Fibers are an even lighter unit of scheduling which are cooperatively scheduled: a running fiber must explicitly "yield" to allow another fiber to run, which makes their implementation much easier than kernel or user threads. A fiber can be scheduled to run in any thread in the same process. This permits applications to gain performance improvements by managing scheduling themselves, instead of relying on the kernel scheduler (which may not be tuned for the application). Parallel programming environments such as OpenMP typically implement their tasks through fibers.

Thread and fiber issues

Concurrency and data structures

Threads in the same process share the same address space. This allows concurrently-running code to couple tightly and conveniently exchange data without the overhead or complexity of an IPC. When shared between threads, however, even simple data structures become prone to race hazards if they require more than one CPU instruction to update: two threads may end up attempting to update the data structure at the same time and find it unexpectedly changing underfoot. Bugs caused by race hazards can be very difficult to reproduce and isolate.

To prevent this, threading APIs offer synchronization primitives such as mutexes to lock data structures against concurrent access. On uniprocessor systems, a thread running into a locked mutex must sleep and hence trigger a context switch. On multi-processor systems, the thread may instead poll the mutex in a spinlock. Both of these may sap performance and force processors in SMP systems to contend for the memory bus, especially if the granularity of the locking is fine.

I/O and scheduling

User thread or fiber implementations are typically entirely in userspace. As a result, context switching between user threads or fibers within the same process is extremely efficient because it does not require any interaction with the kernel at all: a context switch can be performed by locally saving the CPU registers used by the currently executing user thread or fiber and then loading the registers required by the user thread or fiber to be executed. Since scheduling occurs in userspace, the scheduling policy can be more easily tailored to the requirements of the program's workload.

However, the use of blocking system calls in user threads or fibers can be problematic. If a user thread or a fiber performs a system call that blocks, the other user threads and fibers in the process are unable to run until the system call returns. A typical example of this problem is when performing I/O: most programs are written to perform I/O synchronously. When an I/O operation is initiated, a system call is made, and does not return until the I/O operation has been completed. In the intervening period, the entire process is "blocked" by the kernel and cannot run, which starves other user threads and fibers in the same process from executing.

A common solution to this problem is providing an I/O API that implements a synchronous interface by using non-blocking I/O internally, and scheduling another user thread or fiber while the I/O operation is in progress. Similar solutions can be provided for other blocking system calls. Alternatively, the program can be written to avoid the use of synchronous I/O or other blocking system calls.

SunOS 4.x implemented "light-weight processes" or LWPs. NetBSD 2.x+, and DragonFly BSD implement LWPs as kernel threads (1:1 model). SunOS 5.2 through SunOS 5.8 as well as NetBSD 2 to NetBSD 4 implemented a two level model, multiplexing one or more user level threads on each kernel thread (M:N model). SunOS 5.9 and later, as well as NetBSD 5 eliminated user threads support, returning to a 1:1 model. [1] FreeBSD 5 implemented M:N model. FreeBSD 6 supported both 1:1 and M:N, user could choose which one should be used with a given program using /etc/libmap.conf. Starting with FreeBSD 7, the 1:1 became the default. FreeBSD 8 no longer supports the M:N model.

The use of kernel threads simplifies user code by moving some of the most complex aspects of threading into the kernel. The program doesn't need to schedule threads or explicitly yield the processor. User code can be written in a familiar procedural style, including calls to blocking APIs, without starving other threads. However, kernel threading on uniprocessor systems may force a context switch between threads at any time, and thus expose race hazards and concurrency bugs that would otherwise lie latent. On SMP systems, this is further exacerbated because kernel threads may actually execute concurrently on separate processors.

Models

1:1

1:1 threads created by the user are in 1-1 correspondence with schedulable entities in the kernel. This is the simplest possible threading implementation. On Linux, the usual C library implements this approach (via the NPTL). The same approach is used by Solaris, NetBSD and FreeBSD.

N:M

N:M maps some N number of application threads onto some M number of kernel entities, or "virtual processors". This is a compromise between kernel-level ("1:1") and user-level ("N:1") threading. In general, "N:M" threading systems are more complex to implement than either kernel or user threads, because both changes to kernel and user-space code are required. In the N:M implementation, the threading library is responsible for scheduling user threads on the available schedulable entities; this makes context switching of threads very fast, as it avoids system calls. However, this increases complexity and the likelihood of priority inversion, as well as suboptimal scheduling without extensive (and expensive) coordination between the userland scheduler and the kernel scheduler.

N:1

An N:1 model implies that all application-level threads map on to a single kernel-level scheduled entity; the kernel has no knowledge of the application threads. With this approach, context switching can be done very fast and, in addition, it can be implemented even on simple kernels which do not support threading. One of the major drawbacks however is that it cannot benefit from the hardware acceleration on multi-threaded processors or multi-processor computers: there is never more than one thread being scheduled at the same time.

Implementations

There are many different and incompatible implementations of threading. These include both kernel-level and user-level implementations. They however often follow more or less closely the POSIX Threads interface.

Kernel-level implementation examples

User-level implementation examples

Hybrid implementation examples

Fiber implementation examples

Fibers can be implemented without operating system support, although some operating systems or libraries provide explicit support for them.

  • Win32 supplies a fiber API[1] (Windows NT 3.51 SP3 and later)

See also

References

  • 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
  • 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
  • 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

External links


 
Translations: Thread
Top

Dansk (Danish)
n. - tråd
v. tr. - træde en nål
v. intr. - danne tråde (om sirup)

idioms:

  • hanging by a thread    hænge i en tynd tråd
  • pick up the threads    samle trådene

Nederlands (Dutch)
draad, sliert, schroefdraad, lijn (figuurlijk), element, een draad doorhalen, rijgen, inleggen, een weg zoeken

Français (French)
n. - (Cout) fil, (fig) fil, (Tech) filetage, (US) fringues (npl)
v. tr. - (lit) enfiler, introduire (une cassette), (fig) se faufiler
v. intr. - s'enfiler, passer (un film)

idioms:

  • pick up the threads    renouer avec, reprendre le cours de

Deutsch (German)
n. - Faden, Gewinde
v. - einfädeln, aufreihen, durchziehen, sich schlängeln, mit einem Gewinde versehen

idioms:

  • pick up the threads    den Faden wieder aufnehmen

Ελληνική (Greek)
n. - κλωστή, νήμα, ίνα, ειρμός, συνέχεια, λεπτή γραμμή, (μηχαν.) ελικοτομή, κν. βόλτες, (πληθ.) (αργκό) ρούχα
v. - περνώ κλωστή, βελονιάζω, διαγραμμίζω, ελίσσομαι, περνώ με δυσκολία

idioms:

  • hanging by a thread    που κρέμεται από μια κλωστή
  • pick up the threads    ξαναβρίσκω τον εαυτό μου ή τις παλιές μου συνήθειες

Italiano (Italian)
infilare, filo, filetto

idioms:

  • hanging by a thread    appeso a un filo
  • pick up the threads    raccogliere le fila

Português (Portuguese)
n. - fibra (f), linha (f), fio de cabelo (m)
v. - enfiar, ziguezaguear por

idioms:

  • hanging by a thread    por um fio
  • pick up the threads    apanhar o fio à meada

Русский (Russian)
продевать нитку, нанизывать, прокладывать дорогу (через чащу/толпу), нитка, нить

idioms:

  • hanging by a thread    висеть на волоске
  • pick up the threads    начать что.л заново после перерыва

Español (Spanish)
n. - hilo, hebra, hilado
v. tr. - enhebrar, ensartar
v. intr. - pasar, correr, deslizarse, formar hilos

idioms:

  • pick up the threads    retomar el hilo de algo

Svenska (Swedish)
n. - tråd, garn, fiber, sträng, strimma, skruvgänga
v. - trä på/upp, löpa fram/igenom, slingra, gänga

中文(简体)(Chinese (Simplified))
线, 线索, 纤维, 穿线于, 通过, 穿过, 穿透过

idioms:

  • hanging by a thread    千钧一发, 岌岌可危
  • pick up the threads    再继续下去, 继续中断的友谊

中文(繁體)(Chinese (Traditional))
n. - 線, 線索, 纖維
v. tr. - 穿線於, 通過, 穿過
v. intr. - 通過, 穿透過

idioms:

  • hanging by a thread    千鈞一髮, 岌岌可危
  • pick up the threads    再繼續下去, 繼續中斷的友誼

한국어 (Korean)
n. - 실, 인간의 수명, 줄거리
v. tr. - 실을 꿰다, ~에 꿰다, ~의 사이를 헤치고 나아가다
v. intr. - 요리조리 누비듯 나아가다, 실 모양으로 가늘게 늘어지다

日本語 (Japanese)
n. - 糸, 糸状のもの, ねじ山, 筋
v. - 糸を通す, 糸に通す, 映写機に入れる, …にねじ山を付ける

العربيه (Arabic)
‏(الاسم) مجرى مائي هزيل, خيط (فعل) يسلك الخيط في فم الأبرة‏

עברית (Hebrew)
n. - ‮חוט, פתיל, חוט מקשר, משיחה, תיברוגת, עורק דק של חומר-גלם‬
v. tr. - ‮השחיל, השחיל חרוזים, תברג, חירץ תברוגת, פיספס‬
v. intr. - ‮התקדם, פיתל את דרכו‬


 
Best of the Web: thread
Top

Some good "thread" pages on the web:


American Sign Language
commtechlab.msu.edu
 
 
 

Did you mean: thread (in textile), AN thread, Thread (Pern), Units of textile measurement, Thread (performed by Lo-Pro), Thread (performed by k.d. lang), Thread (1998 Album by Box Set) More...


 

Copyrights:

Dictionary. The American Heritage® Dictionary of the English Language, Fourth Edition Copyright © 2007, 2000 by Houghton Mifflin Company. Updated in 2007. Published by Houghton Mifflin Company. All rights reserved.  Read more
How Products are Made. How Products are Made. Copyright © 2002 by The Gale Group, Inc. All rights reserved.  Read more
Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2009 Computer Language Company Inc.  All rights reserved.  Read more
Business Dictionary. Dictionary of Business Terms. Copyright © 2000 by Barron's Educational Series, Inc. All rights reserved.  Read more
Thesaurus. Roget's II: The New Thesaurus, Third Edition by the Editors of the American Heritage® Dictionary Copyright © 1995 by Houghton Mifflin Company. Published by Houghton Mifflin Company. All rights reserved.  Read more
Hacker Slang. The Jargon File. Copyright © 2007.  Read more
Britannica Concise Encyclopedia. Britannica Concise Encyclopedia. © 2006 Encyclopædia Britannica, Inc. All rights reserved.  Read more
Architecture. McGraw-Hill Dictionary of Architecture and Construction. Copyright © 2003 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Columbia Encyclopedia. The Columbia Electronic Encyclopedia, Sixth Edition Copyright © 2003, Columbia University Press. Licensed from Columbia University Press. All rights reserved. www.cc.columbia.edu/cu/cup/  Read more
Word Tutor. Copyright © 2004-present by eSpindle Learning, a 501(c) nonprofit organization. All rights reserved.
eSpindle provides personalized spelling and vocabulary tutoring online; free trial Read more
Dream Symbol. The Dreams Encyclopedia. 1995 ©Visible Ink Press. All rights reserved.  Read more
Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Thread (computer science)" Read more
Translations. Copyright © 2007, WizCom Technologies Ltd. All rights reserved.  Read more