Q:

Scala program to implement multi-tasking using thread

belongs to collection: Scala Threading Programs

0

Here, we will implement multitasking by creating a class extended by Thread class. And, we will override the run() method and also defined one more method to demonstrate multi-tasking using thread.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program/Source Code:

The source code to implement multi-tasking using thread is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

// Scala program to implement multi-tasking
// using thread

class MyThread extends Thread {
  override def run() {
    var cnt: Int = 0;

    while (cnt < 5) {
      println("###cnt: " + cnt);
      Thread.sleep(100);
      cnt = cnt + 1;
    }
  }

  def myTask() {
    var cnt: Int = 0;

    while (cnt < 5) {
      println("@@@cnt: " + cnt);
      cnt = cnt + 1;
      Thread.sleep(200);
    }
  }
}

object Sample {
  // Main method
  def main(args: Array[String]) {
    var thrd = new MyThread();

    thrd.start();
    thrd.myTask();
  }
}

Output:

@@@cnt: 0
###cnt: 0
###cnt: 1
@@@cnt: 1
###cnt: 2
###cnt: 3
@@@cnt: 2
###cnt: 4
@@@cnt: 3
@@@cnt: 4

Explanation:

Here, we used an object-oriented approach to create the program. And, we created an object Sample.

Here, we created a class MyThread by extending the thread class and implement the run() method and also defined one more method myTask() to demonstrate multi-tasking using thread.

And, we also created a singleton object Sample and defined the main() function. The main() function is the entry point for the program.

In the main() function, we created an object of the MyThread class and start thread execution, and also call myTask() method.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Scala program to create a thread by extending Thre... >>
<< Scala program to set and get the priority of the t...