Callable和Runnable是不是也是(简单的)线程? 本帖最后由 jdgdf566 于 2013-11-30 21:39:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你在匿名类里面申明的引用,在外面肯定拿不到啊。不能这样做。既然你需要在其他地方访问myJFrame,那你就要把这个引用放到外面来申明。 Runnable runnable = new Runnable() { @Override public void run() { MyJFrame myJFrame = new MyJFrame(); myJFrame.setLocation(300, 300); myJFrame.setVisible(true); } }SwingUtilities.invokeLater(runnable);实现了Callable或Runnable的类的实例是不是也是(简单的)线程?存在线程安全问题? Runnable runnable = new Runnable() { @Override public void run() { MyJFrame myJFrame = new MyJFrame(); myJFrame.setLocation(300, 300); myJFrame.setVisible(true); } }SwingUtilities.invokeLater(runnable);实现了Callable或Runnable的类的实例是不是也是(简单的)线程?存在线程安全问题?不是所有的实现了Runnable的类都是线程,Java线程只有一个就是Thread,Runnable也须要依靠Thread才能启动。在你这里确实是在线程中运行的,那是因为你调用了SwingUtilities.invokeLater,但是你这里应该基本不存在线程安全问题。因为你在外面访问不到myJFrame,没有数据共享就不存在线程安全问题。 Runnable runnable = new Runnable() { @Override public void run() { MyJFrame myJFrame = new MyJFrame(); myJFrame.setLocation(300, 300); myJFrame.setVisible(true); } }SwingUtilities.invokeLater(runnable);实现了Callable或Runnable的类的实例是不是也是(简单的)线程?存在线程安全问题?不是所有的实现了Runnable的类都是线程,Java线程只有一个就是Thread,Runnable也须要依靠Thread才能启动。在你这里确实是在线程中运行的,那是因为你调用了SwingUtilities.invokeLater,但是你这里应该基本不存在线程安全问题。因为你在外面访问不到myJFrame,没有数据共享就不存在线程安全问题。多谢。现在在事件方法里面执行一个SwingWorker:手册上说“因为 SwingWorker 实现了 Runnable,所以可以将 SwingWorker 提交给 Executor 执行。”我打算用Executors.newCachedThreadPool().execute(mySwingWorker),是否合适?会使线程重用吗? 我import时为什么提示这样的错误 java 程序不能运行? 请问如何得知调用栈? 关于gui的小问题,请帮忙解决以下!!谢谢! 如何用http发送一个xml数据 如何保证写二进制文件,不覆盖原文件? 保存DATE类型数据问题 用过jbuilder的进来。 不能显示 http://localhost:8080 为什么????? 我有一到难题请帮帮小妹。 求助JAVA多个监听器同时使用 菜鸟求助java问题,
Runnable runnable = new Runnable() {
@Override
public void run() {
MyJFrame myJFrame = new MyJFrame();
myJFrame.setLocation(300, 300);
myJFrame.setVisible(true);
}
}
SwingUtilities.invokeLater(runnable);实现了Callable或Runnable的类的实例是不是也是(简单的)线程?存在线程安全问题?
Runnable runnable = new Runnable() {
@Override
public void run() {
MyJFrame myJFrame = new MyJFrame();
myJFrame.setLocation(300, 300);
myJFrame.setVisible(true);
}
}
SwingUtilities.invokeLater(runnable);实现了Callable或Runnable的类的实例是不是也是(简单的)线程?存在线程安全问题?不是所有的实现了Runnable的类都是线程,Java线程只有一个就是Thread,Runnable也须要依靠Thread才能启动。
在你这里确实是在线程中运行的,那是因为你调用了SwingUtilities.invokeLater,但是你这里应该基本不存在线程安全问题。因为你在外面访问不到myJFrame,没有数据共享就不存在线程安全问题。
Runnable runnable = new Runnable() {
@Override
public void run() {
MyJFrame myJFrame = new MyJFrame();
myJFrame.setLocation(300, 300);
myJFrame.setVisible(true);
}
}
SwingUtilities.invokeLater(runnable);实现了Callable或Runnable的类的实例是不是也是(简单的)线程?存在线程安全问题?不是所有的实现了Runnable的类都是线程,Java线程只有一个就是Thread,Runnable也须要依靠Thread才能启动。
在你这里确实是在线程中运行的,那是因为你调用了SwingUtilities.invokeLater,但是你这里应该基本不存在线程安全问题。因为你在外面访问不到myJFrame,没有数据共享就不存在线程安全问题。
多谢。
现在在事件方法里面执行一个SwingWorker:
手册上说“因为 SwingWorker 实现了 Runnable,所以可以将 SwingWorker 提交给 Executor 执行。”
我打算用Executors.newCachedThreadPool().execute(mySwingWorker),是否合适?会使线程重用吗?