Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package one;
- import java.util.Currency;
- import java.util.Random;
- public class SomeClass implements Runnable {
- private String letter;
- int time = 0;
- Random R = new Random();
- private boolean FlagFirst;
- private boolean FlagTwo;
- int on = 1;
- SomeClass(String letter){
- this.letter = letter;
- while(time<500) time = R.nextInt(1001);
- FlagFirst = true;
- FlagTwo = true;
- }
- public void stopNew(){
- System.out.println("Watek "+letter+" spoczywa");
- FlagFirst = false;
- }
- public void resumeNew(){
- System.out.println("Watek "+letter+" zyje");
- FlagFirst = true;
- }
- public boolean getFlag(){
- return FlagFirst;
- }
- public void end(){
- FlagTwo = false;
- }
- @Override
- public void run() {
- int t = 0;
- while(FlagTwo){
- while (FlagFirst){
- try {
- System.out.println(letter+t++);
- Thread.sleep(time);
- } catch (Exception E){
- System.out.println(E);
- }
- }
- }
- }
- }
- package one;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.Timer;
- public class Main extends Thread {
- static int time = 0;
- static boolean flag = true;
- static Timer clock = new Timer(1000, new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- time++;
- System.out.println(time+" : czasss");
- if (time==60){
- flag = false;
- clock.stop();
- }
- }
- });
- public static void main(String[] args) {
- SomeClass a = new SomeClass("a");
- SomeClass b = new SomeClass("b");
- SomeClass c = new SomeClass("c");
- SomeClass d = new SomeClass("d");
- Thread A = new Thread(a);
- Thread B = new Thread(b);
- Thread C = new Thread(c);
- Thread D = new Thread(d);
- char letter = 'a';
- SomeClass tab_sc []= new SomeClass[7];
- for(int i=0; i<tab_sc.length; i++){
- tab_sc[i] = new SomeClass(String.valueOf(letter++));
- }
- Thread tab[] = new Thread[tab_sc.length];
- for (int i=0; i<tab.length; i++){
- tab[i] = new Thread(tab_sc[i]);
- }
- clock.start();
- for (int n = 0; n<tab.length; n++) tab[n].start();
- while(flag){
- try{
- for(int i=0; i<=tab_sc.length; i++){
- if(i==0){
- tab_sc[i].stopNew();
- } else {
- if (i<tab_sc.length) tab_sc[i].stopNew();
- tab_sc[i-1].resumeNew();
- }
- if(!flag) break;
- sleep(3000);
- }
- } catch(Exception e){
- System.out.println(e);
- }
- }
- for (int i=0; i<tab_sc.length; i++){
- if (tab_sc[i].getFlag()) tab_sc[i].stopNew();
- tab_sc[i].end();
- }
- D.isAlive();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement