我在java中遇到了MT的簡單問題。我很想同步acces到控制檯。例如: 第一個線程寫入System.out「Number 1」Thread2 printl(「Number 2」)。我很想同步這個線程在控制檯中順序編寫數字而不用緩衝。這是怎麼回事?控制檯與線程共享
Thread one
Thread two
Thread one
Thread two
...
//代碼
package com.example;
public class MyThread implements Runnable{
@Override
synchronized public void run(){
while(true){
System.out.println("Thread first");
}
}
}
//
package com.example;
public class MyThread2 implements Runnable {
@Override
synchronized public void run() {
// TODO Auto-generated method stub
System.out.println("");
}
}
//
package com.example;
import java.util.concurrent.Semaphore;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread th1= new Thread(new MyThread());
Thread th2= new Thread(new MyThread2());
th2.setPriority(Thread.MAX_PRIORITY);
th1.start();
th2.start();
}
}
如果您在使用現有代碼時遇到問題,請發佈一些代碼。你試過什麼了?另外,我不確定爲什麼除了[標籤:家庭作業]或某種學習練習之外還想這樣做。如果這是作業,請將該標籤添加到問題中,以便我們知道只是提示。 –
爲了順序寫入,爲什麼要使用線程?這只是一個利益問題嗎? –
你需要兩個線程交替嗎?或者你需要任意數量的線程,這個例子恰好是兩個? – corsiKa