1.yield():调用此方法的线程,释放当前cpu的执行权
class SubTread extends Thread{
@Override
public void run() {
for(int i=1;i<=100;i++){
System.out.println(Thread.currentThread().getName()+":"+i);
}
}
}
public class TestThread {
public static void main(String[] args) {
SubTread st1 = new SubTread();
st1.setName("子线程1");
st1.start();
Thread.currentThread().setName("==========主线程");
for(int i=1;i<=100;i++){
System.out.println(Thread.currentThread().getName()+":"+i);
if(i % 10 ==0){
Thread.currentThread().yield();
}
}
}
}
结果:
==========主线程:1
子线程1:1
==========主线程:2
子线程1:2
==========主线程:3
子线程1:3
子线程1:4
子线程1:5
子线程1:6
子线程1:7
子线程1:8
子线程1:9
子线程1:10
子线程1:11
==========主线程:4
子线程1:12
子线程1:13
子线程1:14
==========主线程:5
子线程1:15
==========主线程:6
子线程1:16
==========主线程:7
子线程1:17
==========主线程:8
子线程1:18
子线程1:19
==========主线程:9
子线程1:20
==========主线程:10
子线程1:21
子线程1:22
==========主线程:11
子线程1:23
==========主线程:12
子线程1:24
==========主线程:13
子线程1:25
子线程1:26
==========主线程:14
子线程1:27
==========主线程:15
子线程1:28
==========主线程:16
子线程1:29
==========主线程:17
子线程1:30
==========主线程:18
子线程1:31
==========主线程:19
子线程1:32
==========主线程:20
子线程1:33
==========主线程:21
子线程1:34
==========主线程:22
子线程1:35
==========主线程:23
子线程1:36
==========主线程:24
子线程1:37
==========主线程:25
子线程1:38
子线程1:39
子线程1:40
==========主线程:26
==========主线程:27
==========主线程:28
==========主线程:29
==========主线程:30
==========主线程:31
==========主线程:32
==========主线程:33
子线程1:41
子线程1:42
子线程1