Ex.no: | GENERATING PRIME AND FIBONACCI NUMBERS USING MULTITHREADING | |
Date : |
Aim:
To write a multithreaded java program to print both the prime and Fibonacci numbers
Algorithm:
- Create a threaded Mythread1 in which find the prime numbers below 10 and write in a pipe.
- Create another thread MyThread2 in which find the Fibonacci numbers below 10 and write in another pipe.
- In the main class using a pipe compare the elements which are common to both prime and Fibonacci.
- Display the common elements
Program
import java.io.*;
import java.util.*;
class MyThread1 extends Thread
{
private PipedReader pr;
private PipedWriter pw;
MyThread1(PipedReader pr, pipedWriter pw)
{
this.pr = pr;
this.pw = pw;
}
public void run()
{
try
{
int I;
for (i=1;i<10;i++)
{
int j;
for (j=2; j<i; j++)
{
int n = i%j;
if (n==0)
{
break;
}
}
if(I ==j)
{
pw.write(i+”\n”);
}
}
pw.close();
}
catch (IOException e)
{
}
}
}
class MyThread2 extends Thread
{
private PipedReader pr;
Private PipedWriter pw;
MyThread2(PipedReader pr, PipedWriter pw)
{
this.pr;
this.pw=pw;
}
public void run()
{
try
{
int f1,f2=1,f3=1;
for(int i=1;i<10;i++)
{
pw.write(f3+”\n”);
f1=f2;
f2=f3;
f3=f1+f2;
}
catch (IOException e)
{
}
}
}
class MultithreadedProgram
{
public static void main(string[] args)throws Exception
{
ArrayList list1=new ArrayList list();
ArrayList list list2=new ArrayList list();
PipedWriter pw1=new PipedWriter();
PipedReader pr1=new PipedReader(pw1);
MyThread1 mt1=new MyThread1(pr1,pw1);
System.out.println(“Prime Numbers”);
mt1.start();
int item1;
while((item1=pr1.read())!=-1)
{
char ch1=((char)item1);
System.out.print(Character.toString(ch1));
list1.add(Character.toString(ch1));
}
pr1.close();
PipedWriter pw2=new pipedWriter();
PipedReader pr2=new PipedReader(pw2);
MyThread2 mt2=new MyThread2(pr2,pw2);
System.out.println(“Fibonacci Series”);
mt2.satrt();
int item2;
while ((item2=pr2.read())!=-1)
{
char ch2=((char)item2);
System.out.print(Character.toString(ch2));
list2.add(Character.toString(ch2));
}
pr2.close();
System.out.println(“Elements common to both lists are:”);
list1.retainAll(list2);
for(int i=0;i<list1.size();i++)
{
System.out.print(list1.get(i));
}
}
}
Output
C:\java>javac MultithreadedProgram.java Note: MultiThreadedProgram.java uses unchecked or unsafe operations. Note: Recompile with –Xlint:unchecked for details. C:\java> java MultithreadedProgram Prime Numbers: 2 3 5 7 Fibonacci Numbers: 1 2 3 5 8 13 21 34 55 Elements common to both lists are: 2 3 5 C:\java> |
Conclusion:
Thus the java program to print both the prime and Fibonacci numbers was developed and executed successfully.
No comments:
Post a Comment