answersLogoWhite

0


Best Answer

Its really so easy to distinguish between the concurrent & parallel threads that

A parallel thread is the thread maintained the parallel processing system including the process sheduling system is quite murcible.

Where as the concurrent threading is the way of manupulation of a thread using simultaneous process threading.

It would be be quite better if the book named "Galvin & Siberscartz" book of "Operating System" the chapter process & threads would be followed for maximum details.

User Avatar

Wiki User

15y ago
This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What is the difference between concurrent and parallel threads?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Computer Science

Is executing two threads in parallel to improve multitasking performance?

hyper-threading dumb @sses


List reasons why a Mode switch between threads may be cheaper than a Mode switch between processes?

Answer# 11. reason - the control blocks for processes are larger than for threads (hold more state information), so the amount of information to move during the thread switching is less than for process context switching 2. reason - the major reason is that the memory management is much simpler for threads than for processes. Threads share their memory so during mode switching, memory information does not have to be exchanged/changed, pages and page tables do not have to be switched, etc. This makes the thread context switch much cheaper than for processes. In case of processes the memory pieces (pages) need to be exchanged, etc. (Will talk about the details in few weeks). 3. reason - threads do not have to worry about accounting, etc, so do not have to fill out all the information about accounting and other process specific information in their thread control block, so keeping the thread control block consistent is much faster 4. reason - threads share files, so when mode switch happens in threads, these information stay the same and threads do not have to worry about it (similar to accounting information) and that makes the mode switch much faster.answer 2## Process :Generally heavy weight by, the PCB holds kernel objects the values generally referred as state information. A application can be divided into two types in design phase: 1.Process - may affect application/program architecture 2.Threads - didn't affect architecture Threads typically are spawned for a short-term benefit where as process for long-term even the thread share its own process address space is never larger than 4GB. A single process may hold "n" threads so exchanging value between process; then the CPU spend most of its time for swapping it leads to thrasing definitely. Threads easily exchange their locale variables within its scope but exchange value between process stolen more CPU cycles.


Under what circumstances does a multithread solutions using multiple kernal threads provide better performance than a single thread solution on a single processor system?

When a kernel thread suffers a page fault, another kernel thread can be switched in to use the interleaving time in a useful manner. A single-threaded process, on the other hand, will not be capable of performing useful work when a page fault takes place. Therefore, in scenarios where a program might suffer from frequent page faults or has to wait for other system events, a multi-threaded solution would perform better even on a single-processor system.


Can deadlock occur in process with multiple threads?

Yes. Whenever a thread needs to read or write to memory shared with concurrent threads, it must prevent other threads from writing to that memory at the same time. That is, the threads need to be synchronised. Typically, a thread will acquire a lock on that memory, releasing it when it has finished with the memory. Only one thread can acquire a lock at any given time, so if the lock is already acquired by another thread, the current thread must wait for it to be released. However, there are often times where two or more locks need to be acquired. So long as every thread acquires locks in the exact same order this is not a problem. But if a thread acquires the locks in a different order, we can easily end up with a deadlock. Consider the following pseudocode: function f () { acquire lock A acquire lock B // ... release lock B release lock A } function g () { acquire lock B acquire lock A // ... release lock A release lock B } If f is invoked in one thread and g in another, we can easily end up with f acquiring lock A while g acquires lock B. Function f is then left in limbo waiting for function g to release lock B while g is waiting for f to release lock A. They are deadlocked because neither can progress any further.


Why is the concept of parallelism so popular?

In software design, parallelism isn't actually very popular. The reason for this unpopularity is that creating correct parallel software is much more complex compared to the creation of a single-threaded straight-forward application design. Parallel software design is often confused with multi-threaded design. This is not the same: multi-threaded design means that an application entertains more than one thread of execution. For example, your favorite text processor can take your input, spell-check and print in the background, etc. These are typically separate threads, executed in parallel (physical hardware permitting) or pseudo-parallel, each designed to do its own thing (receive user input, spell-check, print, etc). The term "parallel design" typically refers to dividing a large, time-consuming, algorithm into smaller, but essentially equal, portions, which can be executed in parallel on different processors or even computers. For example, image processing in an MRI scanner is typically divided into a number of parallel processes, each processing a portion of the data. Other parallel applications include those used for image rendering in the creation of animated movies. To synchronize and monitor these parallized efforts, and to combine the results, is not a trivial task - hence the unpopularity of truly parallel design in software. Multi-threaded design, where each thread of execution solves a different problem, typically requiresless management overhead. For example, the printer thread could be designed as a fire-once component, and -once it has been initialized and started correctly- no further coordination or monitoring might be required. Because a multi-threaded application seemingly performs many tasks in parallel, providing a slick user experience, this concept is widely used in allmost all mainstream applications.

Related questions

What is the difference between useparnewgc and separallelgc?

-XX:+UseParallelGC (aka "Parallel Scavenge") is a collector for the new generation portion of the heap (eden and survivor spaces) which splits work between many threads; it can work with either the serial old generation collector (which is the default) or the parallel old generation collector (which does the same thing +UseParallelGC does, just for the old/tenured generation.) It cannot be used with the CMS (concurrent mark sweep) low-latency collecto. -XX:+UseParNewGC is the same as UseParallelGC except that it's compatible with the CMS (concurrent mark sweep) low-latency collector (but it cannot be used with the Parallel Old collector.)


Whats the difference between plumbing pipe threads and conduit pipe threads?

Plumbing pipe threads are squared and conduit pipe threads are tapered.


What is the difference between pipe threads and electrical conduit pipe threads?

Water pipe threads are tapered, electrical pipe is not tapered.


What is the difference between single and double screw threads?

screw thread are single threads which means they are not double


What is the difference between rigid electrical pipe and plumbing pipe?

The threads


What is the difference between capillitial threads and a columella?

Capillitial threads are very minute forms of slime mold. A columella has numerous threads radiating from all sections of the cell.


What is the difference between pipe threads and bolt threads?

NPT = pipe Briggs standard = Pipe NFT and NFC and ASAE = bolt


What is the difference between a fleece and a cagoule?

A cagoule is more puffy and has threads usually hanging out


What is the difference between a rethreading kit and tap and die kit?

A rethread kit cleans up damaged existing threads. A tap and die kit makes threads from scratch.


What is bifilar suspension?

The bifilar suspension theory is the theory of suspending a body from two parallel threads. It can be done with threads, wire, or strings.


Difference between Java threads and user level thread?

A Java thread can be considered as similar to a user level thread. Let us say you are running a web browser, windows media player and GTalk for chat simultaneously - Actually the operating system is running an individual thread for each of these apps which gives you a seamless feeling of things running in parallel. Similarly Java Threads are features in the Java programming language that allow you to run multiple JVM tasks in parallel.


What is bifilar suspension theory?

The bifilar suspension theory is the theory of suspending a body from two parallel threads. It can be done with threads, wire, or strings.