Write a thread class TabPrinter that prints the elements of an array of integers (in one line) every 2 seconds 5 times. Use the way of extending the class thread. Write the main method which creates and starts three threads Printer which will print different arrays of integers. After that it prints "Main won’t wait. Main exits".
Exercise 1:
-
Write a thread class TabPrinter that prints the elements of an array of integers (in one line) every 2 seconds 5 times. Use the way of extending the class thread. Write the main method which creates and starts three threads Printer which will print different arrays of integers. After that it prints "Main won’t wait. Main exits".
- Modify the above thread program so that you implement the interface Runnable. Make the main thread waiting till all other threads finish execution.
____________________________________________________________________________________________
Exercise 2:
-
Write a thread class TextThread that prints a text every 1 second 10 times.
-
Read the following main class. Try to guess what will be its output.
class Test {
public static void main(String s[]) throws Exception {
TextThread x = new TextThread ("I am thread x");
TextThread y= new TextThread ("I am thread y");
System.out.println("I am Main thread");
}
}
-
Write it and execute it. Is the output convenient with your previous answer? What’s wrong? Complete the code so that all thread execute properly.
-
Read the following second main class. Guess its output.
class Test {
public static void main(String s[]) throws Exception {
TextThread x = new TextThread ("Hello");
TextThread y = new TextThread ("Java");
x.start();
x.join();
y.start();
System.out.println("I am Main thread");
}
}
-
Write it and execute it to check your previous answer.
Exercise 3:
-
Read the following code and try to guess what will be its output.
import java.util.*;
class Car {
private int speed;
public void setSpeed(int s){ this.speed=s; }
public int getSpeed(){ return speed; } }
class ChangeSpeedCar extends Thread{
Car car;
int step;
public ChangeSpeedCar(Car obj,String s,int a){
super(s);
this.step=a;
this.car=obj; }
public void run(){
for(int i=0;i<10000;i++)
{ int c=car.getSpeed();
c+=step;
car.setSpeed(c);}
}}
public class test {
public static void main(String[]args){
Car obj =new Car();
obj.setSpeed(0);
ChangeSpeedCar Th1 = new ChangeSpeedCar(obj , "MyThread1",1);
ChangeSpeedCar Th2 = new ChangeSpeedCar(obj , "MyThread2",-1);
Th1.start(); Th2.start();
try{
Thread.sleep(1000);
}catch(Exception e){System.out.print("Error");}
System.out.println("The speed of the car is "+obj.getSpeed());}}
Output
Trending now
This is a popular solution!
Step by step
Solved in 2 steps