问题描述
做了一个死循环,对串口读写,开串口-写数据-读数据-关;结果发现运行12个小时后,抛出异常:Exceptioninthread"Thread-1"java.lang.OutOfMemoryError:unabletocreatenewnativethreadatjava.lang.Thread.start0(NativeMethod)atjava.lang.Thread.start(Thread.java:713)atcom.sun.comm.Win32SerialPort.<init>(Win32SerialPort.java:51)atcom.sun.comm.Win32Driver.getCommPort(Win32Driver.java:69)atjavax.comm.CommPortIdentifier.open(CommPortIdentifier.java:314)atcn.cfxy.chh.serial.Serial.initialize(Serial.java:60)这是什么原因造成的?
解决方案
解决方案二:
它不是说了吗:unabletocreatenewnativethread
解决方案三:
我也没创建线程
解决方案四:
你所调用的jar里边有创建线程操作啊,你看看你的异常堆栈信息。我想想你读写没有关闭就是,要不线程都没有执行完,而且在不断创造。或者你贴下代码
解决方案五:
有一个线程,但线程是这样的;程序思路:main(){开启线程;}线程(){run(){while(true){打开串口-写数据--读数据--关闭串口}}}就建了一个线程啊,之后一直死循环执行,不会再重新创建这个线程吧。
解决方案六:
解决方案七:
有人没,帮帮忙啊
时间: 2024-10-23 03:57:51