线程

jsf – FacesContext.getCurrentInstance()在Runnable类中返回null

解决方法FacesContext作为ThreadLocal变量存储在负责调用FacesServlet的HTTP请求的线程中,FacesServlet负责创建FacesContext.该线程通常仅通过JSF托管bean方法.FacesContext在该线程生成的其他线程中不可用.实际上你应该也不需要在其他线程中使用它.此外,当您的线程启动并独立运行时,底层HTTP请求将立即继续处理HTTP响应然后消失.无论如何,您将无法使用HTTP响应执行某些操作.您需要以不同方式解决您的问题.问问自己:你需要什么?

java – 调用者阻塞直到getFoo()有一个值准备好了?

我有一个Java线程暴露了其他线程要访问的属性:问题是,从运行时间到可用的时间需要一些时间.调用者可以在此之前调用getFoo()并获取一个null.一旦初始化发生,我宁愿他们只是阻止,等待并获取该值..直到它准备好了,这将是毫秒级的,所以我很乐意用这种方法.现在,我可以通过wait()和notifyAll()发生这种情况,有95%的机会我会做的.但我想知道你们会怎么做?

多线程 – 具有危险指针的无锁存储器回收

Hazardpointers是一种无垃圾收集的无锁代码安全地回收内存的技术.这个想法是在访问可以同时删除的对象之前,线程将其危险指针设置为指向该对象.要删除对象的线程将首先检查是否将任何危险指针设置为指向该对象.如果是这样,删除将被推迟,以便访问线程不会最终读取已删除的数据.现在,假设我们的删除线程开始迭代危险指针列表,并且在第i个元素被抢占.现在另一个线程将我的危险指针设置为删除线程当前正在尝试

java – 可运行的界面示例

编辑:从理论上说,当主线程睡着时,子线程应该执行两次.话虽如此,如JavaDoc所述,sleep方法执行的准确性取决于运行它的系统,有时候可能会让其按预期工作,而在其他时间不执行.因此,例如,您可能会遇到主线程睡眠的情况,97毫秒,而不是100,而孩子睡眠时间为53毫秒.这将导致小孩只执行一次.另一个选择是做这样的事情:while{currentTime=…

Java中的线程安全类,通过同步块

假设我们有非常简单的Java类MyClass.有三种构建线程安全java类的方法有一些状态:使它真正不变>使字段数变动.>使用同步块.Java并发实践中第4.3.5节中描述的这种方法的经典版本.有趣的是,它在本书的勘误表中提到的示例中有错误.还有一个事实应加在讨论的上下文中.在多线程环境中,JVM可以自由地对同步块之外的指令进行重新排序,保留由JVM指定的逻辑序列和发生之前的关系.它可能会导致未正

java – 以同步方法读取值时的安全发布

我的问题涉及到Java中字段值的安全发布据我所知,一个字段可以安全地读取如果:>读写在同一个显示器上同步>字段是最后的>字段是不稳定的如果我的理解正确,以下类不应该是线程安全的,因为初始值没有这些特征.然而,我发现很难相信,即使只能从同步方法访问,我也需要使第一个易失性.我错过了什么吗?

java – Lucene IndexWriter线程安全

Lucene鼓励从多个线程重用IndexWriter.假设两个线程可能引用了IndexWriter,如果线程A在作者上调用close,则线程B将留下无用的作者.但是据我了解,lucene不知何故知道另一个线程使用同一个作者,并延续其关闭.这是真的吗?lucene如何跟踪另一个线程使用作者?

线程中的异常“main”java.lang.UnsupportedClassVersionError:danbikel / parser / Trainer(不支持的major.minor版本50.0)

我试图运行一个使用Java构建的解析器,但是每次尝试使用该类时,我得到上面的错误(“线程中的异常”主要“java.lang.UnsupportedClassversionError:danbikel/parser/Trainer(不支持的专业.次要版本50.0)“).从我读过的,这可能是用于编译和运行代码的Java版本不匹配的问题;但是我确定我的JAVA_HOME环境设置为1.6版,这是解析器安装

java – 什么时候应该抛出一个方法抛出InterruptedException,我该如何处理一个呢? (阻断方法)

如果一个方法必须是一个阻止方法,我是否正确的想,如果我离开抛出InterruptedException,我犯了一个错误?简而言之:>一个阻塞方法应该包括throwsInterruptedException,否则是一个普通的方法.>阻塞方法可能会影响响应速度,因为可能难以预测何时完成这就是为什么需要抛出InterruptedException.那是对的吗?解决方法不,我没有找到你的摘要是正确的.通常