Advertisement
rooq37

deker

Jan 8th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.81 KB | None | 0 0
  1. package Dekker;
  2.  
  3. public class PayOut extends Thread{
  4. private int sum=0;
  5. private int currentResources;
  6.  
  7. @Override
  8. public void run() {
  9. long startTime = System.currentTimeMillis();
  10. while(System.currentTimeMillis()-startTime<30000) {
  11. System.out.println("Proces P1 jest po za sekcją krytyczną");
  12. sleepLong();
  13. System.out.println("Proces P1 chce wejść do sekcji krytycznej");
  14. MainDekker.t1W2Enter = true;
  15. while(MainDekker.t2W2Enter){
  16. if(MainDekker.favoredThread==2){
  17. MainDekker.t1W2Enter = false;
  18. while(MainDekker.favoredThread==2);
  19. MainDekker.t1W2Enter = true;
  20. }
  21. }
  22. System.out.println("Proces P1 jest w sekcji krytycznej");
  23. System.out.println("----------------------------------");
  24. //step();
  25. sleepLong();
  26. MainDekker.favoredThread = 2;
  27. MainDekker.t1W2Enter = false;
  28. }
  29. }
  30.  
  31. private void step(){
  32. currentResources = MainDekker.RESOURCES;
  33. sleepShort();
  34.  
  35. currentResources -= 100;
  36. MainDekker.RESOURCES = currentResources;
  37.  
  38. sleepLong();
  39.  
  40. sum -= 100;
  41. System.out.println("WYPŁATA 100zł - Stan konta: <" + MainDekker.RESOURCES + "> Wypłacone pieniądze: " + sum);
  42. }
  43.  
  44. private void sleepShort(){
  45. try {
  46. Thread.sleep((long) (Math.random()*2001));
  47. } catch (InterruptedException e) {
  48. e.printStackTrace();
  49. }
  50. }
  51.  
  52. private void sleepLong(){
  53. try {
  54. Thread.sleep((long) ((Math.random()*2001) + 2000));
  55. } catch (InterruptedException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement