Java_多线程_设计四个线程,其中两个线程每次将j+1,另外两个线程每次将j-1

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Chill_Lyn/article/details/102755622

J类

package thread4;

public class J {
	private int j;

	public synchronized int getJ() {
		return j;
	}

	public synchronized void AddJ() {
		this.j ++;
	}
	
	public synchronized void DecJ() {
		this.j --;
	}
	
}

加线程类

package thread4;

public class Add extends Thread{
	private J j;

	public Add(J j) {
		super();
		this.j = j;
	}
	
	@Override
	public void run() {
		for(int i=0;i<100;i++) {
			j.AddJ();
			System.out.println(Thread.currentThread().getName()+"将j+1后,j="+j.getJ());
		}
	}
}

减线程类

package thread4;

public class Dec extends Thread{
	private J j;

	public Dec(J j) {
		super();
		this.j = j;
	}
	
	@Override
	public void run() {
		for(int i=0;i<100;i++) {
			j.DecJ();;
			System.out.println(Thread.currentThread().getName()+"将j-1后,j="+j.getJ());
		}
	}
}

测试类

package thread4;

public class Test {
	public static void main(String[] args) {
		J j=new J();
		Add a1=new Add(j);
		Add a2=new Add(j);
		Dec d1=new Dec(j);
		Dec d2=new Dec(j);
		
		a1.setName("增线程1");
		a2.setName("增线程2");
		d1.setName("减线程1");
		d2.setName("减线程2");
		
		a1.start();
		a2.start();
		d1.start();
		d2.start();
	}
}

示例
增线程2将j+1后,j=2
减线程2将j-1后,j=0
减线程1将j-1后,j=0
增线程1将j+1后,j=2
减线程1将j-1后,j=-1
减线程2将j-1后,j=0
增线程2将j+1后,j=1
增线程2将j+1后,j=-1
增线程2将j+1后,j=0
增线程2将j+1后,j=1
增线程2将j+1后,j=2
增线程2将j+1后,j=3
增线程2将j+1后,j=4
增线程2将j+1后,j=5
增线程2将j+1后,j=6
增线程2将j+1后,j=7
增线程2将j+1后,j=8
增线程2将j+1后,j=9
减线程2将j-1后,j=-2
减线程1将j-1后,j=-1
增线程1将j+1后,j=0
减线程1将j-1后,j=8
减线程1将j-1后,j=8
减线程1将j-1后,j=7
减线程1将j-1后,j=6
减线程1将j-1后,j=5
减线程1将j-1后,j=4
减线程1将j-1后,j=3
减线程1将j-1后,j=2
减线程1将j-1后,j=1
减线程1将j-1后,j=0
减线程2将j-1后,j=9
增线程2将j+1后,j=10
减线程2将j-1后,j=-2
减线程2将j-1后,j=-2
减线程2将j-1后,j=-3
减线程2将j-1后,j=-4
减线程2将j-1后,j=-5
减线程2将j-1后,j=-6
减线程2将j-1后,j=-7
减线程2将j-1后,j=-8
减线程1将j-1后,j=-1
增线程1将j+1后,j=9
增线程1将j+1后,j=-8
增线程1将j+1后,j=-8
增线程1将j+1后,j=-7
增线程1将j+1后,j=-6
减线程2将j-1后,j=-9
减线程2将j-1后,j=-6
减线程2将j-1后,j=-7
减线程2将j-1后,j=-8
减线程2将j-1后,j=-9
减线程2将j-1后,j=-10
减线程2将j-1后,j=-11
减线程2将j-1后,j=-12
增线程2将j+1后,j=-1
减线程2将j-1后,j=-13
减线程2将j-1后,j=-13
减线程2将j-1后,j=-14
减线程2将j-1后,j=-15
减线程2将j-1后,j=-16
减线程2将j-1后,j=-17
减线程2将j-1后,j=-18
减线程1将j-1后,j=-5
减线程1将j-1后,j=-20
减线程1将j-1后,j=-21
减线程1将j-1后,j=-22
减线程1将j-1后,j=-23
增线程1将j+1后,j=-5
减线程1将j-1后,j=-24
减线程1将j-1后,j=-24
减线程1将j-1后,j=-25
减线程1将j-1后,j=-26
减线程1将j-1后,j=-27
减线程2将j-1后,j=-19
减线程2将j-1后,j=-29
减线程2将j-1后,j=-30
减线程2将j-1后,j=-31
减线程2将j-1后,j=-32
减线程2将j-1后,j=-33
减线程2将j-1后,j=-34
减线程2将j-1后,j=-35
减线程2将j-1后,j=-36
减线程2将j-1后,j=-37
减线程2将j-1后,j=-38
增线程2将j+1后,j=-12
增线程2将j+1后,j=-38
增线程2将j+1后,j=-37
增线程2将j+1后,j=-36
增线程2将j+1后,j=-35
增线程2将j+1后,j=-34
增线程2将j+1后,j=-33
增线程2将j+1后,j=-32
增线程2将j+1后,j=-31
增线程2将j+1后,j=-30
增线程2将j+1后,j=-29
增线程2将j+1后,j=-28
增线程2将j+1后,j=-27
增线程2将j+1后,j=-26
减线程2将j-1后,j=-39
减线程2将j-1后,j=-26
减线程2将j-1后,j=-27
减线程2将j-1后,j=-28
减线程1将j-1后,j=-28
减线程1将j-1后,j=-30
减线程1将j-1后,j=-31
减线程1将j-1后,j=-32
减线程1将j-1后,j=-33
减线程1将j-1后,j=-34
减线程1将j-1后,j=-35
减线程1将j-1后,j=-36
减线程1将j-1后,j=-37
减线程1将j-1后,j=-38
减线程1将j-1后,j=-39
减线程1将j-1后,j=-40
减线程1将j-1后,j=-41
减线程1将j-1后,j=-42
减线程1将j-1后,j=-43
减线程1将j-1后,j=-44
减线程1将j-1后,j=-45
减线程1将j-1后,j=-46
减线程1将j-1后,j=-47
减线程1将j-1后,j=-48
减线程1将j-1后,j=-49
减线程1将j-1后,j=-50
减线程1将j-1后,j=-51
减线程1将j-1后,j=-52
减线程1将j-1后,j=-53
减线程1将j-1后,j=-54
减线程1将j-1后,j=-55
减线程1将j-1后,j=-56
减线程1将j-1后,j=-57
减线程1将j-1后,j=-58
减线程1将j-1后,j=-59
减线程1将j-1后,j=-60
减线程1将j-1后,j=-61
减线程1将j-1后,j=-62
减线程1将j-1后,j=-63
减线程1将j-1后,j=-64
减线程1将j-1后,j=-65
减线程1将j-1后,j=-66
减线程1将j-1后,j=-67
减线程1将j-1后,j=-68
减线程1将j-1后,j=-69
减线程1将j-1后,j=-70
减线程1将j-1后,j=-71
增线程1将j+1后,j=-23
增线程1将j+1后,j=-71
增线程1将j+1后,j=-70
增线程1将j+1后,j=-69
增线程1将j+1后,j=-68
增线程1将j+1后,j=-67
增线程1将j+1后,j=-66
增线程1将j+1后,j=-65
增线程1将j+1后,j=-64
增线程1将j+1后,j=-63
增线程1将j+1后,j=-62
增线程1将j+1后,j=-61
增线程1将j+1后,j=-60
增线程1将j+1后,j=-59
增线程1将j+1后,j=-58
增线程1将j+1后,j=-57
增线程1将j+1后,j=-56
增线程1将j+1后,j=-55
增线程1将j+1后,j=-54
增线程1将j+1后,j=-53
增线程1将j+1后,j=-52
增线程1将j+1后,j=-51
增线程1将j+1后,j=-50
增线程1将j+1后,j=-49
增线程1将j+1后,j=-48
增线程1将j+1后,j=-47
增线程1将j+1后,j=-46
增线程1将j+1后,j=-45
增线程1将j+1后,j=-44
减线程1将j-1后,j=-72
减线程1将j-1后,j=-44
减线程1将j-1后,j=-45
减线程1将j-1后,j=-46
减线程2将j-1后,j=-29
减线程2将j-1后,j=-48
增线程2将j+1后,j=-25
减线程2将j-1后,j=-49
减线程2将j-1后,j=-49
减线程2将j-1后,j=-50
减线程2将j-1后,j=-51
减线程2将j-1后,j=-52
减线程2将j-1后,j=-53
减线程2将j-1后,j=-54
减线程2将j-1后,j=-55
减线程2将j-1后,j=-56
减线程2将j-1后,j=-57
减线程2将j-1后,j=-58
减线程2将j-1后,j=-59
减线程2将j-1后,j=-60
减线程2将j-1后,j=-61
减线程2将j-1后,j=-62
减线程2将j-1后,j=-63
减线程2将j-1后,j=-64
减线程2将j-1后,j=-65
减线程2将j-1后,j=-66
减线程2将j-1后,j=-67
减线程2将j-1后,j=-68
减线程2将j-1后,j=-69
减线程2将j-1后,j=-70
减线程2将j-1后,j=-71
减线程2将j-1后,j=-72
减线程2将j-1后,j=-73
减线程2将j-1后,j=-74
减线程2将j-1后,j=-75
减线程2将j-1后,j=-76
减线程2将j-1后,j=-77
减线程2将j-1后,j=-78
减线程2将j-1后,j=-79
减线程2将j-1后,j=-80
减线程2将j-1后,j=-81
减线程2将j-1后,j=-82
减线程2将j-1后,j=-83
减线程2将j-1后,j=-84
减线程2将j-1后,j=-85
减线程2将j-1后,j=-86
减线程2将j-1后,j=-87
减线程2将j-1后,j=-88
减线程2将j-1后,j=-89
减线程2将j-1后,j=-90
减线程2将j-1后,j=-91
减线程2将j-1后,j=-92
减线程2将j-1后,j=-93
减线程2将j-1后,j=-94
减线程2将j-1后,j=-95
减线程2将j-1后,j=-96
减线程2将j-1后,j=-97
减线程2将j-1后,j=-98
减线程2将j-1后,j=-99
减线程2将j-1后,j=-100
减线程2将j-1后,j=-101
减线程2将j-1后,j=-102
减线程2将j-1后,j=-103
减线程1将j-1后,j=-47
减线程1将j-1后,j=-104
减线程1将j-1后,j=-105
减线程1将j-1后,j=-106
减线程1将j-1后,j=-107
减线程1将j-1后,j=-108
减线程1将j-1后,j=-109
减线程1将j-1后,j=-110
减线程1将j-1后,j=-111
减线程1将j-1后,j=-112
减线程1将j-1后,j=-113
减线程1将j-1后,j=-114
减线程1将j-1后,j=-115
减线程1将j-1后,j=-116
减线程1将j-1后,j=-117
减线程1将j-1后,j=-118
减线程1将j-1后,j=-119
减线程1将j-1后,j=-120
减线程1将j-1后,j=-121
减线程1将j-1后,j=-122
减线程1将j-1后,j=-123
减线程1将j-1后,j=-124
减线程1将j-1后,j=-125
减线程1将j-1后,j=-126
减线程1将j-1后,j=-127
减线程1将j-1后,j=-128
减线程1将j-1后,j=-129
减线程1将j-1后,j=-130
减线程1将j-1后,j=-131
增线程1将j+1后,j=-43
增线程1将j+1后,j=-130
增线程1将j+1后,j=-129
增线程1将j+1后,j=-128
增线程1将j+1后,j=-127
增线程1将j+1后,j=-126
增线程1将j+1后,j=-125
增线程1将j+1后,j=-124
增线程1将j+1后,j=-123
增线程1将j+1后,j=-122
增线程1将j+1后,j=-121
增线程1将j+1后,j=-120
增线程1将j+1后,j=-119
增线程1将j+1后,j=-118
增线程1将j+1后,j=-117
增线程1将j+1后,j=-116
增线程1将j+1后,j=-115
增线程1将j+1后,j=-114
增线程1将j+1后,j=-113
增线程1将j+1后,j=-112
增线程1将j+1后,j=-111
增线程1将j+1后,j=-110
增线程1将j+1后,j=-109
增线程1将j+1后,j=-108
增线程1将j+1后,j=-107
增线程1将j+1后,j=-106
增线程1将j+1后,j=-105
增线程1将j+1后,j=-104
增线程1将j+1后,j=-103
增线程1将j+1后,j=-102
增线程1将j+1后,j=-101
增线程1将j+1后,j=-100
增线程1将j+1后,j=-99
增线程1将j+1后,j=-98
增线程1将j+1后,j=-97
增线程1将j+1后,j=-96
增线程1将j+1后,j=-95
增线程1将j+1后,j=-94
增线程1将j+1后,j=-93
增线程1将j+1后,j=-92
增线程1将j+1后,j=-91
增线程1将j+1后,j=-90
增线程1将j+1后,j=-89
增线程1将j+1后,j=-88
增线程1将j+1后,j=-87
增线程1将j+1后,j=-86
增线程1将j+1后,j=-85
增线程1将j+1后,j=-84
增线程1将j+1后,j=-83
增线程1将j+1后,j=-82
增线程1将j+1后,j=-81
增线程1将j+1后,j=-80
增线程1将j+1后,j=-79
增线程1将j+1后,j=-78
增线程1将j+1后,j=-77
增线程1将j+1后,j=-76
增线程1将j+1后,j=-75
增线程1将j+1后,j=-74
增线程1将j+1后,j=-73
增线程1将j+1后,j=-72
增线程1将j+1后,j=-71
增线程1将j+1后,j=-70
增线程1将j+1后,j=-69
增线程2将j+1后,j=-48
增线程2将j+1后,j=-68
增线程2将j+1后,j=-67
增线程2将j+1后,j=-66
增线程2将j+1后,j=-65
增线程2将j+1后,j=-64
增线程2将j+1后,j=-63
增线程2将j+1后,j=-62
增线程2将j+1后,j=-61
增线程2将j+1后,j=-60
增线程2将j+1后,j=-59
增线程2将j+1后,j=-58
增线程2将j+1后,j=-57
增线程2将j+1后,j=-56
增线程2将j+1后,j=-55
增线程2将j+1后,j=-54
增线程2将j+1后,j=-53
增线程2将j+1后,j=-52
增线程2将j+1后,j=-51
增线程2将j+1后,j=-50
增线程2将j+1后,j=-49
增线程2将j+1后,j=-48
增线程2将j+1后,j=-47
增线程2将j+1后,j=-46
增线程2将j+1后,j=-45
增线程2将j+1后,j=-44
增线程2将j+1后,j=-43
增线程2将j+1后,j=-42
增线程2将j+1后,j=-41
增线程2将j+1后,j=-40
增线程2将j+1后,j=-39
增线程2将j+1后,j=-38
增线程2将j+1后,j=-37
增线程2将j+1后,j=-36
增线程2将j+1后,j=-35
增线程2将j+1后,j=-34
增线程2将j+1后,j=-33
增线程2将j+1后,j=-32
增线程2将j+1后,j=-31
增线程2将j+1后,j=-30
增线程2将j+1后,j=-29
增线程2将j+1后,j=-28
增线程2将j+1后,j=-27
增线程2将j+1后,j=-26
增线程2将j+1后,j=-25
增线程2将j+1后,j=-24
增线程2将j+1后,j=-23
增线程2将j+1后,j=-22
增线程2将j+1后,j=-21
增线程2将j+1后,j=-20
增线程2将j+1后,j=-19
增线程2将j+1后,j=-18
增线程2将j+1后,j=-17
增线程2将j+1后,j=-16
增线程2将j+1后,j=-15
增线程2将j+1后,j=-14
增线程2将j+1后,j=-13
增线程2将j+1后,j=-12
增线程2将j+1后,j=-11
增线程2将j+1后,j=-10
增线程2将j+1后,j=-9
增线程2将j+1后,j=-8
增线程2将j+1后,j=-7
增线程2将j+1后,j=-6
增线程2将j+1后,j=-5
增线程2将j+1后,j=-4
增线程2将j+1后,j=-3
增线程2将j+1后,j=-2
增线程2将j+1后,j=-1
增线程2将j+1后,j=0

猜你喜欢

转载自blog.csdn.net/Chill_Lyn/article/details/102755622
今日推荐