answersLogoWhite

0


Best Answer

Multithreading computers have hardware support to efficiently execute multiple threads. These are distinguished from multiprocessing systems (such as multi-core systems) in that the threads have to share the resources of single core: the computing units, the CPU caches and the translation lookaside buffer (TLB). Where multiprocessing systems include multiple complete processing units, multithreading aims to increase utilization of a single core by leveraging thread-level as well as instruction-level parallelism. As the two techniques are complementary, they are sometimes combined in systems with multiple multithreading CPUs and in CPUs with multiple multithreading cores. Currently only Pentium 4's and i7's can use multithreading.

Answer

The above answer confuses the hardware concept of simultaneous execution with the Operating system concept of threads.

Multi-threading is an Operating System concept, and is independent of any hardware support. Threads (also known as lightweight processes), are a concept where a single program process can have more than one line of execution. A normal process has two portions in memory: its code portion, and its data portion. The code portion is the actual instructions which detail the flow of program, while the data portion are the values that this code flow operates on. You can think of the code portion as filled with algorithms (i.e. X + Y = Z ), and the data portion as containing the values to use in those algorithms (i.e. X = 3, Y = 5, and a place to store the value of Z when it is calculated).

Certain Operating Systems (indeed, practically all modern ones), support the concept of a thread. A thread is a separate line of executing in a process - that is, it shares the code portion of the process with other threads in that process, but has its own unique data. This is useful when a program wants to execute a bunch of similar things on different data. For example: I want to apply a filter algorithm to a bitmap picture. Using threads, the code portion of the process (which contains the algorithms to use) can be shared by several threads, but each thread operates on different data (each pixel in the bitmap).

Multi-threading is the concept of writing a program to be able to execute these multiple lines of executing on different data, all within the context of a single process. Thus, multi-threading requires support from the Operating System, proper system libraries to call the thread-specific functions from, and a program which has been written to use these concepts.

Multiprocessing is also an operating system concept, where the OS has the ability to appear to run multiple processes simultaneously; in reality, what is known as time-slicing provides this illusion. All OSes now have the ability to multi-process. Multiprocessing does not require any special effort on the application programmer's part.

Hyperthreading is a hardware concept, and is what is described in answer #1 above. Operating systems do NOT need to understand hyperthreading to take advantage of it (though, if they do, they can be more efficient). Programs are completely unaware of such hardware features.

Indeed, these days, it is entirely possible to run a multithreaded program on a multiprocessing Operating System, which itself is being run on a hyperthreading CPU.

Multithreading is the ability of an operating system to execute different parts of a program, called threads,simultaneously. The programmer must carefully design the program in such a way that all the threads can run at the same time without interfering with each other.

Answer

Taking a computer job/process, and coding it so the job utilizes multiple resources for execution, this finishing faster.

Example: A machine has 16 processors and the job uses all 16 processors to process.

User Avatar

Wiki User

7y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

14y ago

To understand what a thread is in relation to Java, an understanding of the JVM (Java Virtual Machine) is needed.

The JVM is like a software version of a Computer, and in the same way that a Computer processes data, the JVM executes threads.

The processes of a Java program are Threads that are compiled and then sent to the JVM as byte code that is interpreted into machine language that will be executed by the local CPU(Operating System CPU) and then made logical to the Java program.

A Thread is the flow of control within a process.

Multi-ThreadingMulti-Threading refers to how multiple processes can be managed by the JVM, multitasking. A Java program may be using several threads concurrently, the program may be displaying a GUI, calling the printer and communicating with a database, these tasks will be processed as different threads.

The Java language allows a user to invoke and assign threads using the Thread class. Each Thread is given a priority and and the Thread with the highest preference is given more time to be executed than Threads of lower priority.
This answer is:
User Avatar

User Avatar

Wiki User

18y ago

multithreading is the process of creating threads and assigning task to each thread and each thread works simultaneously and thus increasing the efficiencey

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is threading and multi-threading?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Related questions

What is multithreading in C language?

Multi-threading is not part of the language.


What about multithreading in c sharp?

Multi-threading in c sharp is a system with different tutorial. Like: interaction between threads, producer, using thread pool and using mutex objects.


In what year was multithreading developed for computers?

Multi-threading is a programming model that allows computers to communicate with each other using the same resources, but work independently. This process became supported in the late 1990s.


What is the difference between hyper-threading multi-threading and super-threading in computer processors?

Hyper-threading is using one processor but logically dividing it into two so that it gives the user the benefit of two processors with only using the resources equivalent to almost one. This is achieved by sharing, partitioning and duplicating the various resources almost into two processors. Used by the latest Pentium processors, which are HT enabled, in layman's terms, it allows you to use more than two applications at the same time without slowing down processing speed.Multi-threading is when various processes are time sliced such that it gives the user the impression that all the programs are being run at the same time. This is what happens on your computer regularly.Super-threading allows threads from different processes to be executed at the same time unlike Multi-threading where every process has a time slot during which, thread from only one process will be executed. But every time, if for example, there are four instructions issued to the processor. They will all be from the same process. Hyper-threading takes it a step further. It allows threads from different processes to be issued at the same time, in turn, utilizing the waste cycles of the processor. You can go to any Intel site for further info on this.Another answer:Super-threading is a multithreading approach that weaves together the execution of different threads on a single processor without truly executing them at the same time. This qualifies it as time-sliced or temporal multithreading rather than simultaneous multithreading. It is motivated by the observation that the processor is occasionally left idle while executing an instruction from one thread. Super-threading seeks to make use of unused processor cycles by applying them to the execution of an instruction from another thread.Multithreading computers have hardware support to efficiently execute multiple threads. These are distinguished from multiprocessing systems (such as multi-core systems) in that the threads have to share the resources of single core: the computing units, the CPU caches and the translation lookaside buffer (TLB). Where multiprocessing systems include multiple complete processing units, multithreading aims to increase utilization of a single core by leveraging thread-level as well as instruction-level parallelism. As the two techniques are complementary, they are sometimes combined in systems with multiple multithreading CPUs and in CPUs with multiple multithreading cores.Hyper-threading is Intel's trademarked term for its simultaneous multithreading implementation in their Pentium 4, Atom, Core i7, and certain Xeon CPUs. Hyper-threading (officially termed Hyper-Threading Technology or HTT) is an Intel-proprietary technology used to improve parallelization of computations (doing multiple tasks at once) performed on PC microprocessors. A processor with hyper-threading enabled is treated by the operating system as two processors instead of one. This means that only one processor is physically present but the operating system sees two virtual processors, and shares the workload between them. Hyper-threading requires both operating system and CPU support for efficient usage; conventional multiprocessor support is not enough, and may actually decrease performance if the Operating System is not sufficiently aware of the distinction between a physical core and a HTT-enabled core. For example, Intel does not recommend that hyper-threading be enabled under Windows 2000, even though the operating system supports multiple CPUs (but is not HTT-aware).


What is the difference between hyperthreading and simultaneous multithreading?

Actually, hyperthreading is Intel's name for its implementation of simultaneous multithreading.


What are multithreading models?

check


How old is simultaneous multithreading?

Simultaneous multithreading was first researched in 1968 as part of IBM's ACS-360 project.


How do you use threading in sentence?

He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.He was very good at threading needles.


Does java support multithreading or not justify your answer?

yes!


What is HT technology?

Hyper-threading (officially termed Hyper-Threading Technology or HTT) is an Intel-proprietary technology used to improve parallelization of computations performed on PC microprocessors via simulatnious multithreading. It is an improvement on super-threading. It debuted in U.S. Patent 4,847,755 (Gordon Morrison et al.) and can be seen in use on the Intel Xeon processors and Pentium 4 processors. The technology improves processor performance under certain workloads by providing useful work for execution units that would otherwise be idle, for example during a cache miss. A processor with Hyper-Threading enabled is treated by the operating system as two processors instead of one. Hyper-threading relies on support in the operating system as well as the CPU. Conventional multiprocessor support is not enough to take advantage of hyper-threading. For example, even though Windows 2000 supports multiple CPUs, Intel does not recommend that hyper-threading be enabled under that operating system.


Describe the process of threading?

Describe the process of threading


Is unix is multitasking or multithreading?

It uses both techniques.