Q:

Ruby program to sleep thread execution for a specific time

belongs to collection: Ruby Threading Programs

0

In this program, we will create two threads. Here, we will use the sleep() method to pause a thread for a specific time.

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 sleep thread execution for a specific time is given below. The given program is compiled and executed on Windows 10 Operating System successfully.

# Ruby program to sleep thread execution 
# for a specific time.

# First Thread method
def ThreadFun1()
	$i = 0;
	while $i<5 do
		puts "First Thread running";
		$i += 1;

		# sleep thread for 1 second
		sleep(1);
	end
end

# Second Thread method
def ThreadFun2()
	$i = 0;
	while $i<5 do
		puts "Second Thread running";
		$i += 1;

		# sleep thread for 1 second
		sleep(1);
	end
end

# Create thread objects
t1 = Thread.new{ThreadFun1()};
t2 = Thread.new{ThreadFun2()};

# Join created thread.
t1.join();
t2.join();

Output:

First Thread running
Second Thread running
Second Thread running
First Thread running
Second Thread running
First Thread running

Explanation:

In the above program, we created two methods ThreadFun1()ThreadFun2(). Then we bound the methods with thread objects. Here, we used the sleep() method to pause thread execution and printed the messages.

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

total answers (1)

Ruby program to join multiple threads using each()... >>
<< Ruby program to create multiple threads...