-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathYieldTest.java
More file actions
42 lines (37 loc) · 1 KB
/
Copy pathYieldTest.java
File metadata and controls
42 lines (37 loc) · 1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package Thread;
//一个调用yield()方法的线程告诉虚拟机它乐意让其他线程占用自己的位置
//调用yield()方法时,两个线程依次打印,然后将执行机会交给对方,一直这样进行下去
public class YieldTest
{
public static void main(String[] args)
{
Thread producer = new Producer();
Thread consumer = new Consumer();
producer.setPriority(Thread.MIN_PRIORITY); //Min Priority
consumer.setPriority(Thread.MAX_PRIORITY); //Max Priority
producer.start();
consumer.start();
}
}
class Producer extends Thread
{
public void run()
{
for (int i = 0; i < 5; i++)
{
System.out.println("I am Producer : Produced Item " + i);
Thread.yield();
}
}
}
class Consumer extends Thread
{
public void run()
{
for (int i = 0; i < 5; i++)
{
System.out.println("I am Consumer : Consumed Item " + i);
Thread.yield();
}
}
}