Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eshop;
- public class Shop{
- public static void main(String[] args) throws InterruptedException{
- Store store = new Store();
- for(int j = 0; j < 200; j++){
- Buyer b1 = new Buyer(1, store, Integer.toString(j));
- Buyer b2 = new Buyer(1, store, Integer.toString(j));
- b1.start();
- b2.start();
- b1.join();
- b2.join();
- }
- System.out.println(store.getItemNum());
- }
- }
- class Buyer extends Thread{
- private int itemNeeded;
- public Buyer(int itemNum, Runnable target, String name) {
- super(target, name);
- itemNeeded = itemNum;
- }
- public int getItemNumNedeed() {
- return itemNeeded;
- }
- }
- class Store implements Runnable{
- private int itemNum = 1000;
- @Override
- public void run(){
- Buyer buyer = (Buyer) Thread.currentThread();
- if(buyItem(buyer.getItemNumNedeed())){
- System.out.println("Pirkejas " + buyer.getName() + " nupirko " + buyer.getItemNumNedeed());
- }else{
- System.out.println("Pirkejo " + buyer.getName() + "apispirkimas nesekmingas");
- }
- }
- public /*synchronized*/ boolean buyItem(int itemNeeded){
- if(this.itemNum - itemNeeded > 0){
- this.itemNum = this.itemNum - itemNeeded;
- return true;
- }else{
- return false;
- }
- }
- public int getItemNum(){
- return itemNum;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement