How thread is different from task? How thread programming is done?

 Thread is different from the task in the following ways:-

A task describes a program that may need input files and generate output files as a result of its execution and applications are a collection of tasks. Tasks are submitted for execution, and their Output data is gathered at the conclusion. The way tasks are produced, the sequence in which they are executed, and whether they need data interchange to distinguish the application models that come under the task programming umbrella.  A Task may be used to indicate what you want to perform, and then that Task may be attached to a Thread. Threads are utilized to finish the task by splitting it up into pieces and executing them individually in a distributed system.

A thread is a fundamental unit of CPU utilization that consists of a program counter, a stack, and a collection of registers. Threads have their program and memory areas. A thread of execution is the shortest series of programmed instructions that a scheduler can handle separately. Threads are a built-in feature of your operating system. The thread class provided by different programming languages such as .Net or Java provides a method for creating and managing threads.


The differences between a task and a thread are:-

1. The Thread class is used for creating and manipulating a thread in Windows. A Task represents some asynchronous operation and is part of the Task Parallel Library, a set of APIs for running tasks asynchronously and in parallel.

2. The task can return a result. There is no direct mechanism to return the result from a thread.

3. Task supports cancellation through the use of cancellation tokens. But Thread doesn't.

4.  A task can have multiple processes happening at the same time. Threads can only have one task running at a time.

5. We can easily implement Asynchronous using ’async’ and ‘await’ keywords.

6. A new Thread()is not dealing with a Thread pool thread, whereas Task does use a thread pool thread.

7. A Task is a higher-level concept than a Thread.

 Thread programming is done in the following way-

A program that demonstrates this is given as follows:

class ThreadDemo implements Runnable {

Thread t;

ThreadDemo() {

t = new Thread(this, "Thread");

System.out.printIn("Child thread: " + t);

t.start(); }

public void run() {

try {

System.out.printIn("Child Thread");


} catch (InterruptedException e) {

System.out.printIn("The child thread is interrupted.");


System.out.println("Exiting the child thread");

} }

public class Demo {

public static void main(String args[]) {

new ThreadDemo();

try {

System.out.println("Main Thread");


} catch (InterruptedException e) {

System.out.println("The Main thread is interrupted");


System.out.println("Exiting the Main thread");

} }

 Differences between a task and a thread


  1. Compilation in java is the process of translating Java source code into bytecode that can then be executed by the JVM (Java Virtual Machine). The Java compiler handles this translation.
    compilation in java


Post a Comment

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Discuss classification or taxonomy of virtualization at different levels.

Suppose that a data warehouse consists of the three dimensions time, doctor, and patient, and the two measures count and charge, where a charge is the fee that a doctor charges a patient for a visit. a) Draw a schema diagram for the above data warehouse using one of the schemas. [star, snowflake, fact constellation] b) Starting with the base cuboid [day, doctor, patient], what specific OLAP operations should be performed in order to list the total fee collected by each doctor in 2004? c) To obtain the same list, write an SQL query assuming the data are stored in a relational database with the schema fee (day, month, year, doctor, hospital, patient, count, charge)