2
我已經給出使用運行兩個線程之一的任務延伸,並且一個使用工具可運行,輸出意在similair此 F(0) F(1) F(2 ) ......... S(O) S(1) S(2)實現Runnable和延伸螺紋
到目前爲止即時得到 F(0) S(1) F(1) F(2) S(2)
public class Fast implements Runnable
{
/** Creates a new instance of Fast */
public void run()
{
for(int i = 0; i <= 9; i++)
{
try
{
System.out.println("F("+ i + ")");
Thread.sleep(200);
}
catch(InterruptedException e)
{
String errMessage = e.getMessage();
System.out.println("Error" + errMessage);
}
}
}
}
和
public class Slow extends Thread
{
/** Creates a new instance of Slow */
public void run()
{
for(int i = 0; i <= 6; i++)
{
try
{
System.out.println("S("+ i + ")");
Thread.sleep(400);
}
catch(InterruptedException e)
{
String errMessage = e.getMessage();
System.out.println("Error" + errMessage);
}
}
}
}
隨着主
public class Main
{
public static void main(String args[])
{
Fast f = new Fast();
Slow s = new Slow();
Thread ft = new Thread(f);
ft.start();
s.start();
}
}
謝謝,是不是可以使用synchronized關鍵字,我有這個工作,然後我的筆記本電腦停止工作,我試圖記住我做了什麼,英尺。 join()不會響鈴 – user445714 2011-04-25 15:25:34
如果您想在兩個線程之間同步,您需要創建一個它們都有權訪問的互斥對象。線程F會通知()該互斥體,線程S會等待它。但是,我仍然不確定你想要達到的目標。如果你想連續運行這些線程,那麼你需要一個連接。如果你只想讓F更快,S更慢,那麼只需增加S的睡眠時間。這將有助於瞭解任務的目的是什麼。 – alpian 2011-04-25 15:41:33
快速實現Runnable並具有一個運行方法,該方法在新行上連續顯示「F(x)」十次,在執行每個打印語句之前休眠20毫秒。在每種情況下,x將由迭代次數代替,從0開始(即,第一次打印輸出爲'F(0)',下一次爲'F(1)',依此類推,直到'F (9)') ◦ 緩慢延伸線程並且有一個運行方法,它在執行每個打印語句之前先在新行上連續七次顯示'S(x)',睡眠40毫秒。 – user445714 2011-04-25 15:45:17