2015-10-18 3 views
1

Я хочу знать, как передавать значения в Thread. Я хочу Thread 1 шоу из 1-> 5 Я хочу Thread 2 шоу из 1-> 10Переменные значения передачи для потоковой передачи в java

=> Через кол-variable.Please помочь мне

public class NewClass { 

    public static void main(String[] args) { 
     MyThread myThread = new MyThread(); 

     myThread.setCount(10); 
     Thread thread = new Thread(myThread); 
     thread.start(); 

     myThread.setCount(5); 
     Thread thread2 = new Thread(myThread); 
     thread2.start(); 
    } 

} 

class MyThread implements Runnable { 

    int count = 0; 

    public void setCount(int count) { 
     this.count = count; 
    } 

    @Override 
    public void run() { 
     for (int i = 1; i <= count; i++) { 
      System.out.println(Thread.currentThread().getName() + "\t\t" + i); 
     } 
    } 
} 

Моя идея заключается в том, чтобы расколоть list url и прочитайте ссылку. Я их получил данные в базу данных. Мне слишком сложно, пожалуйста, помогите Jsoup save content into the database

+0

Создайте новый экземпляр 'MyThread' для каждого потока, иначе вы можете изменить' count' до того, как предыдущий поток завершится. – Titus

+0

Спасибо. Можете ли вы дать мне более подробную информацию о том, как 2: вы можете изменить счет до того, как предыдущий поток закончится? –

+0

Если первый поток не завершился, прежде чем вы вызовете 'myThread.setCount (5);' он больше не будет выполнять итерации '10', потому что вы изменили значение' count' от '10' до' 5' – Titus

ответ

3

Вам следует создать 2 отдельных объекта Thread и установить для каждого желаемого счетчика.

MyThread t = new MyThread(); 
t.setCount(10); 
Thread t1 = new Thread(t); 
t1.start(); 

t = new MyThread(); 
t.setCount(5); 
Thread t2 = new Thread(t); 
t2.start(); 

Таким образом, каждый объект Thread будет работать свой собственный метод MyThread.run, с графом вы настроены для каждого объекта MyThread.

Смежные вопросы