Java 避免RecursiveLockImpl01不公平。锁运行时异常(超时)?
我有一个应用程序,在启动时加载一系列大型图像。这是一个应用程序,所以大多数东西都在单个主动画线程上运行,并且使用Processing的OpenGL渲染器 EDIT:当JOGL中的某个进程花费>5秒时,将引发RuntimeException。将其备份到后续的Java 避免RecursiveLockImpl01不公平。锁运行时异常(超时)?,java,processing,jogl,Java,Processing,Jogl,我有一个应用程序,在启动时加载一系列大型图像。这是一个应用程序,所以大多数东西都在单个主动画线程上运行,并且使用Processing的OpenGL渲染器 EDIT:当JOGL中的某个进程花费>5秒时,将引发RuntimeException。将其备份到后续的loadImage()调用意味着避免了运行时异常。我还不清楚如何重新编程,所以还没有找到解决方法,除了丑陋的try-catch+反射解决方法 映像加载有时需要5秒以上的时间,当它们加载时,JOGL会从recursiveLockImpl01Und
loadImage()
调用意味着避免了运行时异常。我还不清楚如何重新编程,所以还没有找到解决方法,除了丑陋的try-catch+反射解决方法
映像加载有时需要5秒以上的时间,当它们加载时,JOGL会从recursiveLockImpl01Underrish.lock()中抛出一个RuntimeException。我的理解是,RecursiveLockImpl01Underrish.lock()
会在主GL动画线程停止执行>5秒时发出投诉
有没有简单的解决方法?我可以将映像加载转移到另一个线程,并重新调整我的init序列,使其更加异步,但对于只在应用程序init上发生一次的事情来说,这需要做大量的工作,而此时应用程序有足够的时间启动
(注意:这是为了安装,当应用程序在早上第一次启动时,没有人在场或试图使用它,因此在init上延迟数秒不是问题。)您不能,因为处理不是多线程的。您可以使用纯Java编写一个多线程应用程序,该应用程序只利用处理作为绘图库,但如果您正在等待资源,请首先尝试处理提供的“异步”方法,例如requestImage(而不是loadImage),如果这些方法不起作用,这可能是纯java时代。在Processing wiki中有一个关于此的主题,但不确定这是否是您的案例。。。还有一个关于线程的问题:@Mike'Pomax'Kamermans忘记了requestImage()
。这可能会奏效。