Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


cant we call run() method directly instead of calling indirectly through the start()
method ? if we do so then what is the problem ?

Answers were Sorted based on User's Feedback



cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / will

Calling run() without calling start() will effectively
execute run() in the current thread.

Calling start() will kick off a seperate thread,from your
current thread, which will then call run().

Is This Answer Correct ?    12 Yes 4 No

cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / srinu

Calling run() without calling start() will effectively
execute run() in the current thread.then that time only one
thread it will be created.but n't achiving the mulithreading
concepts.

ex:-
class Sample extends Thread
{
Sample()
{
System.out.println("hai how are u");
}
public void run()
{
System.out.println("run method will be called");
}
}

public class ThreadExample
{
public static void main(String k[])
{
Sample s=new Sample();
s.run();
int k1=Sample.activeCount();

System.out.println(k1);
}
}

OUTPUT:
hai how are u
run method will be called
1
IN this program only one thread will be created.

start()--->
Calling start() will kick off a seperate thread,from your
current thread, which will then call run().

EX:-
class Sample extends Thread
{
Sample()
{
System.out.println("hai how are u");
}
public void run()
{
System.out.println("run method will be called");
}
}

public class ThreadExample
{
public static void main(String k[])
{
Sample s=new Sample();
s.start();
int k1=Sample.activeCount();

System.out.println(k1);
}
}
OUTPUT:
hai how are u
run method will be called
2
In this program 2 threads will be started.

Is This Answer Correct ?    7 Yes 2 No

cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / dara

Calling run() without calling start() will effectively
execute run() is a normal method.

Calling start() will kick off a separate thread,from your
current thread, which will then call run().

Is This Answer Correct ?    5 Yes 0 No

cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / neeraj_passion2001

yes you can call run() as ordinary method.
but while calling run() explicitly u can not achieve multi
threading.

Is This Answer Correct ?    8 Yes 5 No

cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / damodar narayan

Calling run() method is just like calling a method in java. So when called, it just gets executed but "we do not get the thread functionality by calling the run() method". But calling start() method registers your program with the thread scheduler and hence it achieves the threading functionality. Start in turn calls the runs method.

Hope its clear.

Is This Answer Correct ?    3 Yes 0 No

cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / xyz

can we call start () inside run() of a thread

Is This Answer Correct ?    3 Yes 1 No

cant we call run() method directly instead of calling indirectly through the start() method ? if w..

Answer / rajkiran bande

@Answer 5 : Yes. But you'll eventually end up in getting
IllegealThreadStateException when run() is invoked for the
second time.

Is This Answer Correct ?    2 Yes 0 No

Post New Answer

More Java Related AllOther Interview Questions

What is a driver in java?

0 Answers  


What is java flatmap?

0 Answers  


How do I run a project in eclipse?

0 Answers  


What are the authentication modes in asp.net? : java security

0 Answers  


public class Dog { private int weight; public int getweight(){ return weight; } public void SetWeight(int newWeight){ if (newWeight > 0){ weight = newWeight; } } } public class TestDog { public static void main(String[] args) { Dog d = new Dog(); System.out.println("Dog d's weight is " + d.getWeight()); d.setWeight(42); System.out.println("Dog d's weight is " + d.getWeight()); d.setweight(-42); System.out.println("Dog d's weight is " + d.getWeight()); } } class dog is compiled but there is an error in class TestDog when compiled and the error is with dot notations. I want to kmow why there is error in testdog class when compiled.

3 Answers  


How common are security breaches? : java security

0 Answers  


What is static class in java?

0 Answers  


When a thread is created and started, what is its initial state?

0 Answers  


program A and B are analysed and found to have worst case running time greater than 150NlogN and N*N respectively. which program has the better guarantee after the running time for the large values of N(N>10000)? which program has the better guarantee for the running time of small program N (N<100)? which program will run faster on average for N=1000?

0 Answers   St. Pauls University,


What is jdk for netbeans ide?

0 Answers  


Which is better openjdk or oracle jdk?

0 Answers  


What is serializable in java?

0 Answers  


Categories