ADVERTISEMENT
ADVERTISEMENT

Rust program to demonstrate the join() function in threads

Rust | Thread Example: Write a program to demonstrate the join() function in threads.
Submitted by Nidhi, on November 02, 2021

Problem Solution:

In this program, we will use the join() function to handle threads. Using the join() function, we can put the thread in the handle. Then join it with the handle of the main thread. This will let all the handles complete before the program exits.

Program/Source Code:

The source code to demonstrate the join() function in threads is given below. The given program is compiled and executed on UBUNTU 18.04 successfully.

// Rust program to demonstrate the join() 
// function in threads

use std::thread;
use std::time::Duration;

fn main() {
    let handle = thread::spawn(|| {
        for cnt in 0..5 
        {
            println!("Thread: {}", cnt);
            thread::sleep(Duration::from_millis(100));
        }
    });
    
    for cnt in 0..5 
    {
        println!("Main Thread: {}", cnt);
        thread::sleep(Duration::from_millis(100));
    }
    
    handle.join().unwrap();
    println!("Program finished");
}

Output:

$ rustc main.rs

$ ./main
Main Thread: 0
Thread: 0
Main Thread: 1
Thread: 1
Main Thread: 2
Thread: 2
Main Thread: 3
Thread: 3
Main Thread: 4
Thread: 4
Program finished

Explanation:

Here, we created a thread using the thread:spawn() function. The thread:spawn() function returns a handle. Then we joined the thread with the main thread using the join() function and executed the thread with the main() thread to print the message.

Rust Threads Programs »



ADVERTISEMENT




ADVERTISEMENT



Comments and Discussions!

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.