Java 运行可运行子类的多个函数(不仅仅是run())
是否可以运行Runnable threaded子类的其他函数 e、 g:Java 运行可运行子类的多个函数(不仅仅是run()),java,multithreading,runnable,Java,Multithreading,Runnable,是否可以运行Runnable threaded子类的其他函数 e、 g: 但是这是解决问题的正确方法吗?正确的方法是创建两个不同的Runnable对象,每个对象都有自己的run()方法定义 Thread t1 = new Thread(new Runnable1()); Thread t2 = new Thread(new Runnable2()); t1.start(); t2.start(); Java只能通过对Runnable实现或thread的子类执行run()方法来运行线程,您的代码
但是这是解决问题的正确方法吗?正确的方法是创建两个不同的
Runnable
对象,每个对象都有自己的run()
方法定义
Thread t1 = new Thread(new Runnable1());
Thread t2 = new Thread(new Runnable2());
t1.start();
t2.start();
Java只能通过对
Runnable
实现或thread
的子类执行run()
方法来运行线程,您的代码永远不会执行MyRunnable.run()
。考虑这个
MyRunnable r1 = new MyRunnable () ;
r1.somethingElse(1);
Thread t1 = new Thread(r1,"Thread-R1") ;
t2.start();
在将线程实例提供给线程池之前,您可以调用线程实例中的任何方法(在您的例子中是MyRunnable)。一旦启动线程,就考虑同步。 您想在不同的威胁中或在相同的威胁(非主威胁)中执行run和somethingElse?在相同的线程中,而不是在主线程中。我正在实现一个数据库,我希望所有的查询都在不同的线程中执行。
Thread t1 = new Thread(new Runnable1());
Thread t2 = new Thread(new Runnable2());
t1.start();
t2.start();
MyRunnable r1 = new MyRunnable () ;
r1.somethingElse(1);
Thread t1 = new Thread(r1,"Thread-R1") ;
t2.start();