• wait


    package money.thread;
    
    import money.Log;
    
    public class AddRunner extends ExecutableRunner {
    
        private static final String TAG = "AddRunner";
        public int a;
    
        public AddRunner(Object readyTaskListLock, String description, int exclusiveValue, int type) {
            super(readyTaskListLock, description, exclusiveValue, type);
            a = 0;
        }
    
        @Override
        public void run() {
    
            while (true) {
                a++;
                Log.d(TAG, "description:" + description + " a:" + a);
    
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
    
                if (a == 5) {
                    synchronized (readyTaskListLock) {
                        // TODO: modify state
                        readyTaskListLock.notify();
                    }
                    return;
                }
            }
        }
    }
    package money;
    
    import money.thread.AddRunner;
    import money.thread.ExecutableRunner;
    
    public class Test {
    
        private static final String TAG = "Test";
    
        public static void main(String[] args) {
            Processor processor = Processor.instance();
            processor.start();
    
            // wait for the initialization of processor
            try {
                Thread.sleep(300);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
    
            
    
            for (int i = 0; i < 4; i++) {
                ExecutableRunner runner = new AddRunner(processor.getReadyTaskListLock(), "" + i, 0, 0);
                processor.addTask(runner);
                
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }            
            }
            
            Log.d(TAG, "to add other task....");
        }
    }
  • 相关阅读:
    微信小程序の模板
    微信小程序の条件渲染
    微信小程序のwxml列表渲染
    769. Max Chunks To Make Sorted
    766. Toeplitz Matrix
    747. Largest Number At Least Twice of Others
    746. Min Cost Climbing Stairs
    729. My Calendar I
    724. Find Pivot Index
    718. Maximum Length of Repeated Subarray
  • 原文地址:https://www.cnblogs.com/muhe221/p/7735626.html
Copyright © 2020-2023  润新知