I wrote a program that downloads a list of urls using a large number of threads to speed up the process. However, at random points in the downloading process, the JVM breaks, saying there was a 'problematic thread' at some memory address.
My basic question: Does anyone know of any general types of problems using threads that cause the JVM to break frequently?
The only sychronization issues that I have are that every thread passes a string to a synchronized static method, which writes out the string to a RandomAccessFile. I don't know if this would be causing any problems, but it's a rather simple thing, so I wouldn't think so.
Has anyone run into similar problems on their systems?
I'm running on Windows 2000 with jdk 1.3.1_02.