线程同步问题,帮下!
class Alone extends Thread
{
static Object output=new Object();
int[] array;
static StringBuffer sb=new StringBuffer();
public Alone(int[] array)
{
this.array=array;
}
public void addLeft()
{
for(int i=0;i<array.length/2;i++)
{
sb.append(array[i]);
}
}
public void addRight()
{
for(int i=array.length/2;i<array.length;i++)
{
sb.append(array[i]);
}
}
public void run()
{
addLeft();
addRight();
}
public static void main(String[] args)
{
Alone a=new Alone(new int[]{1,1,1,1,2,2,2,2});
Alone b=new Alone(new int[]{3,3,3,3,4,4,4,4});
a.start();
b.start();
try
{
a.join();
b.join();
}
catch(InterruptedException e)
{
System.out.println(e.getMessage());
}
System.out.println(sb);
}
}
我想要的结果是:
情况1:1111333322224444
情况2:3333111144442222
我应该如何在run方法中定义同步呢?