我想写一个线程并发。2个线程交互进行对1个变量+1操作,就是线程1加1之后,线程2加1,然后线程1再加1.....
输出线程ID 和数字。结果例如:ThreadId1:0
ThreadId2:1
ThreadId1:2
ThreadId2:3
ThreadId1:4
ThreadId2:5
ThreadId1:6
ThreadId2:7
ThreadId1:8
ThreadId2:9
ThreadId1:10
ThreadId2:11
....
输出线程ID 和数字。结果例如:ThreadId1:0
ThreadId2:1
ThreadId1:2
ThreadId2:3
ThreadId1:4
ThreadId2:5
ThreadId1:6
ThreadId2:7
ThreadId1:8
ThreadId2:9
ThreadId1:10
ThreadId2:11
....
2个线程函数里面循环就行了
能不能用线程同步锁来做啊
{
public static int i;
public void run(){
for(int j=0;j<100;j++)
add();
}
public synchronized void add(){
i++;
System.out.println(Thread.currentThread.getName()+i);
}
public static void main(String[] args)
{
Thread thread1=new Thread(new MyThread());
Thread thread2=new Thread(new MyThread());
thread1.start();
thread2.start();
}
}
是不是这个意思
Thread.currentThread().yield();
}
public void add(){
i++;
System.out.println(Thread.currentThread().getName()+i);
}
如果就两个线程的话yield就可以了