Advertisement
Guest User

Untitled

a guest
Feb 21st, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. package eshop;
  2.  
  3. public class Shop{
  4. public static void main(String[] args) throws InterruptedException{
  5. Store store = new Store();
  6. for(int j = 0; j < 200; j++){
  7. Buyer b1 = new Buyer(1, store, Integer.toString(j));
  8. Buyer b2 = new Buyer(1, store, Integer.toString(j));
  9. b1.start();
  10. b2.start();
  11. b1.join();
  12. b2.join();
  13. }
  14. System.out.println(store.getItemNum());
  15. }
  16. }
  17. class Buyer extends Thread{
  18. private int itemNeeded;
  19.  
  20. public Buyer(int itemNum, Runnable target, String name) {
  21. super(target, name);
  22. itemNeeded = itemNum;
  23. }
  24. public int getItemNumNedeed() {
  25. return itemNeeded;
  26. }
  27. }
  28. class Store implements Runnable{
  29. private int itemNum = 1000;
  30. @Override
  31. public void run(){
  32. Buyer buyer = (Buyer) Thread.currentThread();
  33. if(buyItem(buyer.getItemNumNedeed())){
  34. System.out.println("Pirkejas " + buyer.getName() + " nupirko " + buyer.getItemNumNedeed());
  35. }else{
  36. System.out.println("Pirkejo " + buyer.getName() + "apispirkimas nesekmingas");
  37. }
  38. }
  39. public /*synchronized*/ boolean buyItem(int itemNeeded){
  40. if(this.itemNum - itemNeeded > 0){
  41. this.itemNum = this.itemNum - itemNeeded;
  42. return true;
  43. }else{
  44. return false;
  45. }
  46. }
  47. public int getItemNum(){
  48. return itemNum;
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement