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