goback add

临界资源访问

3014 点击·0 回帖
灯火互联
楼主

package javase2.Day5;

import javase2.Day5.Table.Person;

/**
* 临界资源访问
* */
public class SyncDemo1 {
    public static void main(String[] args) {
        Table table = new Table();
        Person p1 = table.new Person();
        Person p2 = table.new Person();
        p1.start();
        p2.start();
    }
}
www.atcpu.com
class Table {
    int beans = 20;

    public synchronized int getBean() {
        if (beans == 0)
            throw new RuntimeException("没了");
        Thread.yield();
        return beans--;
    }

    class Person extends Thread {
        public void run() {
            while (true) {
                int bean = getBean();
                System.out.println(getName() + "拿到:" + bean);
                Thread.yield();
            }
        }
    }
}

喜欢0 评分0