我有一個Java應用程序,它包含兩個在不同Java類中創建的線程。一個線程用於寫入圖像文件,另一個線程同時讀取同一文件。兩個線程都在同時運行。java.lang.ArrayIndexOutOfBoundsException:-1
但也有少數企圖線程被阻塞,並顯示以下異常後:
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(ArrayList.java:371)
at java.util.ArrayList.get(ArrayList.java:384)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkTablesOnly(JPEGImageReader.java:373)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.gotoImage(JPEGImageReader.java:476)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readHeader(JPEGImageReader.java:597)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1054)
at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1034)
at javax.imageio.ImageIO.read(ImageIO.java:1448)
at javax.imageio.ImageIO.read(ImageIO.java:1308)
at java.lang.Thread.run(Thread.java:722)
此異常的應用程序終止本身之後。如何解決這個問題呢?
如何在兩個不同的Java類中同步這兩個線程?
你能告訴我們你的代碼嗎? –
'elementData'當時的大小是多少?你調試 – gnanz
它的一個大的應用程序,所以我不能分享它 – rachana