线程

java – 扩展Thread类并实现Runnable接口的场景

我是Java的线程编程的新手,因此是基本的问题.(我检查过,但是以前没有找到这个问题)我读到可以通过继承Thread类或通过实现Runnable接口创建线程.我看到一个同样的课程的代码.我想知道什么样的情况会想要这个,如果这有什么优势,那是什么.解决方法扩展Thread并实现Runnable是无用的(线程已经实现了Runnable).你几乎总是想实现Runnable(而不是扩展Thread).这使

Java主线程与UI线程

在这里作为答案给出的许多Swing片段中,主要方法是调用SwingUtilities#invokeLater:但是根据ThreadsandSwingarticle,从主线程构建UI是安全的:Afewmethodsarethread-safe:IntheSwingAPIdocumentation,thread-safemethodsaremarkedwiththistext:Thismethodis

Java中的多线程状态可见性有没有办法将JVM转换成最坏的情况?

假设我们的代码有2个线程(A和B)有一个引用此类的同一个实例:当线程A执行myValueHolder.setValue(7)时,不能保证线程B将会读取该值:myValueHolder.getValue()可能–理论上可以永远返回1.然而,实际上硬件会早晚清除第二级缓存,所以线程B会迟早(通常会更早)读取7.有没有办法使JVM模拟最坏的情况,它永远返回1线程B永远?这将是非常有用的测试我们的多线程代

java – 这种方法可能会出现死锁吗?我该怎样预防呢?

2个线程的死锁?解决方法当然,假设我们有两个对象,并假设线程1调用:线程2调用时:在线程1中,a==1和b==2,但在线程2中,a==2和b==1.因此,当线程1在对象1上获得锁定时,线程2可以获得对象2上的锁定.然后当每个线程尝试进行下一步时,它们将陷入僵局.

java – 黑莓线程模型

我已经阅读了很多评论,提到BlackBerry线程模型偏离了Java标准,可能会导致问题,但是没有数量的谷歌搜索引起了我的意思.我一直在为BlackBerry开发一个相当大的业务应用程序,尽管我以前从来没有Java多线程应用程序的经验,但是还没有遇到任何问题,除了我们自己造成的.有人可以准确地描述BlackBerry线程模型是如何不同的,以及我作为开发人员应该如何考虑?

Java – 使用For循环创建多个线程

我正在尝试创建多个线程,其数量取决于命令行的输入.我知道扩展Thread不是最好的OO练习,除非你正在制作一个专门版本的Thread,但假设这个代码创建了所需的结果?解决方法是的,它正在创建和启动n个线程,所有这些线程都在打印后立即结束Run:及其名称.