That's an interesting question and I do want to know the cause for it .
I would say the compiled Java code can be run everywhere without having any impact on the output while running it on other OS, which is what guaranteed! But hanging is a different issue as there may be some other environmental/OS related factors contributing for it.
I am not very sure but a wild guess! [ June 25, 2008: Message edited by: Raghavan Muthu ]
I agree with Jeffry, sounds like you've got a thread deadlock due to the different thread mechanisms. Windows performs time slicing where as linux will execute each thread to completion unless it leaves the running state.
Are you peforming yield in your code?
I'd suggest you check the order the threads are processed.
Jason [ June 26, 2008: Message edited by: Jason Moors ]