Thread-Sleep-Methode in Scala

Suraj P 30 Januar 2023
  1. Threads in Scala
  2. Thread.sleep() in Scala
Thread-Sleep-Methode in Scala

In diesem Artikel erfahren Sie zunächst, wie Threads in Scala implementiert werden. Dann werden wir sehen, wie die Sleep-Methode in Scala funktioniert.

Threads in Scala

Threads sind leichtgewichtige Unterprozesse, die weniger Speicherplatz beanspruchen und schneller ausgeführt werden. In einer Umgebung mit mehreren Threads werden viele Threads gleichzeitig ausgeführt, wobei jeder eine andere Aufgabe ausführt. Dies führt zu einer besseren CPU-Auslastung und Ressourcen und im Gegenzug zu einem besseren Durchsatz.

In Scala werden Threads auf zwei Arten erstellt: Erstens durch Erweitern der Runnable-Schnittstelle und zweitens durch Erweitern der Thread-Klasse.

Methode 1: Erweitern der lauffähigen Schnittstelle

Wir erstellen eine Klasse, die das Runnable-Interface erweitert und die Methode run() überschreibt.

Beispielcode:

class test extends Runnable
{
    override def run()
    {
        println("Thread "+Thread.currentThread().getName()+" is running.")
    }
}

object MyClass {
    
    def main(args: Array[String]) {
        for(i<- 1 to 5)
        {
            var obj = new Thread(new test())  //creating the object
            obj.setName(i.toString())
            obj.start()  //starts the thread
        }
    }
}

Ausgabe:

Thread 1 is running.
Thread 2 is running.
Thread 3 is running.
Thread 4 is running.
Thread 5 is running.

Methode 2: Erweitern der Thread-Klasse

Wir erstellen eine Klasse, die die Klasse Thread erweitert und die Methode run() überschreibt.

Beispielcode:

class test extends Thread
{
    override def run()
    {
        println("Thread "+Thread.currentThread().getName()+" is running.")
    }
}

object MyClass {
    
    def main(args: Array[String]) {
        for(i<- 1 to 5)
        {
            var obj = new Thread(new test())  //creating the object
            obj.setName(i.toString())
            obj.start()  //starts the thread
        }
    }
}

Ausgabe:

Thread 1 is running.
Thread 2 is running.
Thread 3 is running.
Thread 4 is running.
Thread 5 is running.

Thread.sleep() in Scala

Thread.sleep(time) wird verwendet, um einen Thread für eine bestimmte Zeit in den Ruhezustand zu versetzen. Als Argument wird ihm die Zeit in Millisekunden übergeben.

Syntax:

Thread.sleep(1000)
Here the thread would sleep for 1000 milliseconds

Beispielcode:

class test extends Thread
{
    override def run()
    {
        var i = 0
        println("Thread "+Thread.currentThread().getName()+" is running.")
        
        for(i<-1 to 5)
        {
            Thread.sleep(1000) //will sleep the thread
            
        }
        
    }
}

object MyClass {
    
    def main(args: Array[String]) {
        for(i<- 1 to 5)
        {
            var obj = new Thread(new test())  //creating the object
            var thread1 = new Thread(obj);
            var thread2 = new Thread(obj);
            
            thread1.setName("1")
            thread2.setName("2")
            
            thread1.start()  //starts the thread
            thread2.start()
            
        }
    }
}

Ausgabe:

Thread 1 is running.
Thread 2 is running.
Thread 1 is running.
Thread 2 is running.
Thread 1 is running.
Thread 2 is running.
Thread 1 is running.
Thread 2 is running.
Thread 1 is running.
Thread 2 is running.
Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub