|
sir/mam
i need to know the working of join() ....
i tried books and net but i didn't got it.
Please tell me exactly why we use join() function and what happens when we call the join()..
Thanks
|
|
|
|
|
|
I tried to follow this link and got a security warning that the website was trying to open a program on my computer. No idea what it was or why, but that sort of thing makes me nervous.
|
|
|
|
|
no thread here.
regards Torsten
I never finish anyth...
|
|
|
|
|
To be fair, the javadoc for this method isn't very clear:
Waits for this thread to die.
That's it. Not the most helpful javadoc I've ever seen.
The Oracle Java tutorial[^] is better:
The join method allows one thread to wait for the completion of another. If t is a Thread object whose thread is currently executing,
t.join();
causes the current thread to pause execution until t's thread terminates.
I think that's quite clear and succinct.
|
|
|
|
|
thanks david..it helps alot.
|
|
|
|
|
To ensure that a thread (referenced by some reference say threadRef) is finished, then you join() on that reference. like threadRef.join() if that thread is finished, then join() returned immediately otherwise join() will blocked until that thread get finished.
For example if you create three thread (a, b, c) for doing three different task A, B, C, from your main thread, but you need some initialization processing (which must be executed before start-up of a, b, c) and shutdown processing (which must be executed after finishing of a, b, c) then you may code like this
// in main()
System.out.println("System started");
initialization(); // a, b, c are not running yet.
System.out.println("initialization complete ");
Thread a = new Thread(new Task_A_RunnableClass());
Thread b = new Thread(new Task_B_RunnableClass());
Thread c = new Thread(new Task_C_RunnableClass());
a.start();
System.out.println("Thread "a" started ");
b.start();
System.out.println("Thread "b" started ");
c.start();
System.out.println("Thread "c" started ");
//Now wait for all thread to finished.
a.join();
System.out.println("Thread "a" finiished ");
b.join();
System.out.println("Thread "b" finiished ");
c.join();
System.out.println("Thread "c" finiished ");
shutdown(); // a, b, c are finished now.
System.out.println("System shutdown..... ");
|
|
|
|
|
Hi all,
I have page on which data is loaded from database it takes more time to load the page
so i want to display the loading ..... image which will intimate user to wait.
Any suggestions are welcome
Thanks & Regards
Yogesh
|
|
|
|
|
You mean like an image showing the machine is idle?
How about an dialog saying "wait"?
Why does it take so long to load the data?
regards Torsten
I never finish anyth...
|
|
|
|
|
The proper way to do this is with some form of progress bar[^].
The best things in life are not things.
|
|
|
|
|
Hello,
I would like to fully understand the concept of 'unchecked casting'.
I get an 'unchecked cast' warning when I try to do this:
<br />
List<Element> freq1;<br />
pfreq1 = XPath.newInstance("/values/val[@freq<10]");<br />
freq1 = (List<Element>) pfreq1.selectNodes(doc);
What I am doing on line 3 is converting a List (pfreq1) to a List<Element> (freq1).
After googling, I have taken over the following 'cure', which worked:
<br />
private void makeValid(List li) {<br />
freq1 = new ArrayList();<br />
for (Object o : li) {<br />
freq1.add((Element) o);<br />
}<br />
}<br />
<br />
makeValid(pfreq1.selectNodes(doc));<br />
This works, but I do not know why. I do not know why the 'unchecked cast' warning disappears then.
I am explicitly converting each element of the generic List pfreq1 to an Element, thus making all elements in that generic List turn into real Element objects, which would make it a List<Element>. Now the compiler is sure that every object inside that List is now of type Element and thus can convert it safely to a List<Element>. That's how I see it.
However, what I would like to know is how and why unchecked casting works.
Thank you
|
|
|
|
|
The return type of the selectNodes method on XPath is a plain List, not a List<Element>.
In line 3 you are telling the compiler that you want to cast the List returned from selectNodes to a List<Element>.
The problem comes when you think about what is inside that list. selectNodes has returned you a plain List, which could in theory contain any type of Object. So although you can tell the compiler to cast the List to a List<Element> there is no guarantee that the contents of the List will actually be of type Element when the thing runs.
So the unchecked cast warning is the compiler telling you to be careful: you want to cast this to a List of Elements, but you may not get a List of Elements at this point at runtime. There is no way the compiler can check that for you, so it is prompting you to say "Are you sure this is right?"
In the second case, you are taking a plain List from selectNodes, and then iterating over the contents and casting each entry in turn into an Element before adding it into the list. That makes sure that the entries being added into freq1 are the correct type (Element). So the compiler doesn't need to warn you that the entries may be the wrong type because you have taken care of that yourself.
Hopefully that helps to make things a bit clearer.
|
|
|
|
|
Hi guyz,
i had developed a chat server in java for my website and now i wish to use it for my wesbite for live chatting with customers,please help me on that(all i know is that it would require jsp\servlets and tomcat server )
thnx.
I THINK THE INFO GIVEN BY ME WAS INSUFFICIENT,
so lemme put it this way:
i was supposed to make a chat server which could be used for live chatting(to connect operator and client) on the website,
i modified one of the chat servers(which i took from this website) and now the chat server is ready(with both the server part and the client part),i have converted them into jar files and now i have to link that program to my website so that people who visit the website can chat directly with the operator on a single click).
for that i guess i need to make jsp and servlets..for that i need guidance that how to do that..
in short:I WAS SUPPOSED TO ENABLE LIVE CHAT IN A WEBSITE AS A PART OF MY PROJECT AND FOR THAT I HAVE MADE UP THE CHAT SERVER PROGRAM AND NOW I NEED HELP REGARDING HOW TO USE(LINK) IT ON MY WEBSITE
i hope i made myself clear..please ignore any typing mistakes,
thanx
modified on Wednesday, July 6, 2011 8:49 AM
|
|
|
|
|
There are lots of samples of this type of website around the internet. I'm sure a Google search for "java chat website" will yield some useful results.
The best things in life are not things.
|
|
|
|
|
sir,thankyou for your reply..please read the modified message once again
|
|
|
|
|
Member 8011053 wrote: i guess i need to make jsp and servlets..for that i need guidance that how to do that.
There is no simple one line answer to this question. If you do not have any experience in these technologies then you are not going to be able to complete this project easily. There are many samples around the internet and, once again, I suggest you go and research some of them.
The best things in life are not things.
|
|
|
|
|
ok thankyou for your advices , i have 1 month with me so i will try my best.
|
|
|
|
|
so you have developed a chat server, eh?
smells like homework.
What part of the client do you've got yet?
regards Torsten
I never finish anyth...
|
|
|
|
|
i have modified the information and stated more clearly that i want..please have a look and reply ,
thankyou
|
|
|
|
|
sir/mam
i want to know if i can put the try block directly in a class... as
class a
{
try
{
methods;
}
catch()
{ }
}
|
|
|
|
|
No, a try/catch block has to be inside a method.
What are you trying to achieve exactly ?
|
|
|
|
|
thanks cedric for your reply.
If you don't mind can you please explain why we can't put the try/catch block directly in a class.
why it is required to put it in a method.
|
|
|
|
|
For the same reason why you can't put code directly in a class: it is by design. If you would be able to put code directly in your class (not in a method), what would that mean ?
A try/catch block is meant to surround code that could potentially fail. If you put it directly in a class, it doesn't surround any code.
|
|
|
|
|
Cedric Moonen wrote: If you would be able to put code directly in your class (not in a method), what would that mean ?
That it was static.
class MyClass {
{
System.out.println("This is a static code block");
}
}
Hopefully no-one will actually write a class like that minimalist example, but static code blocks are there for a reason and can be useful under certain circumstances.
|
|
|
|
|
David Skelly wrote: under certain circumstances.
...under very certain circumstances.
I've just cleaned out that stuff out of one of my projects here. A former student used to make (like?) such crucial stuff.
regards Torsten
I never finish anyth...
|
|
|
|