我正在学习Java线程的入门教程。代码非常简单
public interface Runnable {
void run();
}
public class RunnableThread implements Runnable {
Thread runner;
public RunnableThread() {
}
public RunnableThread(String threadName) {
runner = new Thread(this, threadName); // (1) Create a new thread.
我使用ConcurrentLinkedQueue来存储计算步骤,使用Executors.newFixedThreadPool创建的ExecutorService来执行它们。我的问题是,应用程序永远不会终止。下面是一些代码:
public class Run {
public static void main (String[] args) throws Exception {
ParallelExecutor executor = new ParallelExecutor();
executor.execute();
// manua
我有一个连接到oracle 11g的Java应用程序。使用oracle.jdbc.pool.OracleOCIConnectionPool.getConnection方法时,该过程会冻结2到3分钟。它确实设法获得了连接,并在3分钟后继续运行,没有任何错误。
奇怪的是,当连接到相同的数据库时,相同的程序在不同的机器上运行得很好。
我搞不懂这里到底是怎么回事。有人能帮我解决这个问题吗?
下面是一个示例程序在使用getConnection方法时的线程转储:
Full thread dump Java HotSpot(TM) Server VM (1.5.0_11-b03 mixed mode):
我试图打瞌睡警报,按下打盹按钮,重新启动相同的活动后,预定义的时间。然而,当我按下打盹按钮,应用程序崩溃,在logcat中,我被提供了错误:java.lang.IllegalStateException。这是我用来打瞌睡的代码,帮助我找出我做错了什么,以及修复它的最佳选择。谢谢,
public void snoozeup(View view)
{
SharedPreferences sa = getSharedPreferences("SnoozeList", Context.MODE_PRIVATE);
int snox = sa.getInt("
在Java中看到一些与void返回类型的函数接口有关的奇怪行为。
有人能解释一下为什么下面的task5和task6声明会编译吗?
public class Test {
private static int counter;
private static void testRunnable() {
/* Runnable has a void return type so the following won't compile.
* Error message is Void methods cannot return a value
我正在尝试用Java创建一个带有Runnable对象的基本Thread。下面是我的代码:
import java.lang.Thread;
import java.lang.Runnable;
public class TestRunnable{
public static void main(String[] args){
MyRunnableImplementation r = new MyRunnableImplementation();
Thread t = new Thread(r);
t.start();
}
}
使用java 8编译器,这个程序: import java.util.function.Consumer;
public class xx {
public void execute(Consumer<? super Runnable> executor, Runnable action) {
executor.accept(() -> action.run());
}
} 失败,出现以下错误: xx.java:4: error: incompatible types: <captured wildcard> is not a f
我试图在迭代ArrayList时从它中删除条目,结果却发现Java不喜欢它。因此,我很快编写了一个Delay,可以将操作传递给它,以便以后运行它们。
import java.util.HashSet;
import java.util.Set;
public class Delay {
private Set<Runnable> tasks = new HashSet<Runnable>();
public Delay(){}
public Delay(Runnable... tasks){
for(Runnable task
我收到两个错误,分别是:
ControllingSpeed.java:89: constructor Thread in class Thread cannot be applied to given types
Thread th=new Thread(r);
^
required: no arguments
found: Runnable
ControllingSpeed.java:90: cannot find symbol
th.start(r);
^
symbol: method start(Runnable)
location:
我通过运行几个sql来使用map来存储数据。最近我想提高搜索的效率,所以我创建了一些线程,每个线程对应于每个sql,然后同时将查询结果放到映射中。在运行代码时,我得到了NullPointerExceptions,但不知道为什么。下面是我的代码:
public Map<String, Object> getIndexStatistics(final Integer themeId, final String time, final Integer projectId) {
final Map<String, Object> res = new Concurrent
为什么科特林会抱怨这个:
class MyActivity : Activity {
private var handler:Handler = Handler()
private var runnable: Runnable = Runnable {
/* Do something very important */
handler.postDelayed(this@MyActivity.runnable, 5000)
}
}
编译器抱怨行中的Variable 'runnable' must be initialized是由处理程序重新发布的。这
我一直在我的代码上得到NoClassDefFoundError。以下是代码:
handler.postDelayed(check = new Runnable() {
@Override
public void run() {
if (foreground && paused) {
foreground = false;
Log.i(TAG, "went background");
for (Listener l
我在java中有一些这样的代码来监视某个文件:
private Handler mHandler = new Handler();
private final Runnable monitor = new Runnable() {
public void run() {
// Do my stuff
mHandler.postDelayed(monitor, 1000); // 1 second
}
};
这是我的kotlin密码:
private val mHandler = Handler()
val monitor: Runnable =
我希望找到从另一个类中的可运行集以编程方式创建的视图的id,并将其传递给搜索到的视图的类。 这个想法是只要没有输入正确的密码就锁定应用程序。因此,当用户在主菜单上按下“解锁”按钮时,会提示一个来自ViewDialog类的覆盖对话框。ViewDialog中的showUnlockDialog()函数用于创建密码EditText,并将其添加到R.layout.custom_dialog中的基本对话框集中。用户输入密码并单击运行runnable获取EditText内容的按钮,以检索输入的密码。 public class MainMenu extends AppCompatActivity {