You are on page 1of 2

import java.util.

Scanner;
class SumToN implements Runnable
{
int number,t,s1,e1,count1;
Thread t1;
int sum=0;
public SumToN(int num,int n,int s,int e,int count)
{
number=num;
t=n;
s1=s;
e1=e;
count1=count;
t1=new Thread(this);
t1.start();
}
public void run()
{
for(int i=s1;i<=e1;i++)
{
sum=sum+i;
String name=Thread.currentThread().getName();
System.out.println(name +"sum=" + sum);
}
}
public void join()
{
try
{
t1.join();
}catch(InterruptedException e)
{
System.out.println(e.getMessage());
}
}
public void display()
{
System.out.println("sum from" + s1+ "to "+ e1 + "=" + sum);
System.out.println();
}
public int getresult()
{
return sum;
}
}
public class Threads
{
public static void main(String[] args)
{
Scanner inp=new Scanner(System.in);
System.out.println("enter the number");
int num=inp.nextInt();
int finalsum=0;

int s=1;
System.out.println("enter the value threads");
int n=inp.nextInt();
int e=num/n;
int count=2;
if(num%n==0)
{
for(int i=0;i<n;i++)
{
SumToN S=new SumToN(num,n,s,e,count);
S.join();
S.display();
finalsum=finalsum+S.getresult();
s=e+1;
e=count*(num/n);
count++;
}
System.out.println("final sum=" + finalsum);
}
else
System.out.println("not possible");
}
}

You might also like