Skip to main content

Java Exception Handling MCQ Test

  Loading…

Creating Threads

 In Java, there are two primary ways to create threads:

1. Extending the `Thread` class: You can create a new class that extends the `Thread` class and override its `run()` method to define the code that the thread will execute.


2. Implementing the `Runnable` interface: You can create a class that implements the `Runnable` interface and provide the implementation for its `run()` method. Then, you can pass an instance of this class to a `Thread` object.


Let's see examples for both approaches:

 1. Extending the `Thread` class:


class MyThread extends Thread {

    public void run() {

        // Code to be executed by the thread

        for (int i = 0; i < 5; i++) {

            System.out.println("Thread: " + i);

            try {

                Thread.sleep(1000); // Pause execution for 1 second

            } catch (InterruptedException e) {

                e.printStackTrace();

            }

        }

    }

}


public class Main {

    public static void main(String[] args) {

        MyThread thread = new MyThread();

        thread.start(); // Start the thread

    }

}


2. Implementing the `Runnable` interface:


class MyRunnable implements Runnable {

    public void run() {

        // Code to be executed by the thread

        for (int i = 0; i < 5; i++) {

            System.out.println("Runnable: " + i);

            try {

                Thread.sleep(1000); // Pause execution for 1 second

            } catch (InterruptedException e) {

                e.printStackTrace();

            }

        }

    }

}


public class Main {

    public static void main(String[] args) {

        MyRunnable myRunnable = new MyRunnable();

        Thread thread = new Thread(myRunnable);

        thread.start(); // Start the thread

    }

}



Both approaches will create a separate thread of execution, allowing the code within the `run()` method (defined in either the `Thread` subclass or the `Runnable` implementation) to run concurrently with the main program.


Remember to call the `start()` method on the `Thread` object to start the execution of the thread. Do not call the `run()` method directly, as it will execute in the same thread as the caller, not in a separate thread.

Comments

Popular posts from this blog

Iterators and Collections

In Java, iterators are objects that allow for sequential access to the elements of a collection. The Java Collections Framework provides the Iterator interface, which defines methods for iterating over collections such as lists, sets, and maps. Here's an explanation of iterators and their relationship with collections, along with examples: Iterator Interface: The Iterator interface provides methods to iterate over the elements of a collection sequentially: - boolean hasNext(): Returns true if there are more elements to iterate over. - E next(): Returns the next element in the iteration. - void remove():  Removes the last element returned by `next()` from the underlying collection (optional operation). Collections and Iterators: 1. Collection Interface:    - Collections represent groups of objects, such as lists, sets, and maps.    - They provide methods for adding, removing, and accessing elements. 2. Iterator Usage:    - Collections implement the Iter...

The Collection Interface.

  The Collection Interface.