⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 select.java

📁 演示win32的socket 通讯 八皇后的改进算法 并发Concurrency的JAVA实现 applet演示鼠标的点击时间和显示图象 手机J2ME的多线程演示
💻 JAVA
字号:
/*
@author  j.n.magee 20/11/96
*/
package concurrency.message;

import java.awt.*;
import java.util.*;
import java.applet.*;

/*********************Select*****************************/
// implements choice
class Select {
    Vector list = new Vector(2);

    public void add(Selectable s) {
        list.addElement(s);
        s.setSelect(this);
    }

    private void clearAll() {
        for (Enumeration e = list.elements(); e.hasMoreElements();){
           ((Selectable)e.nextElement()).clearOpen();
        }
    }

    private void openAll() {
        for (Enumeration e = list.elements(); e.hasMoreElements();){
            Selectable s = (Selectable)e.nextElement();
            if (s.testGuard()) s.setOpen();
        }
    }

    private int testAll() {
        int i = 0;
        int j = 1;
        for (Enumeration e = list.elements(); e.hasMoreElements() && i==0; ++j){
           Selectable s = (Selectable)e.nextElement();
           if (s.testReady() && s.testGuard()) i=j;
        }
        return i;
    }

    public synchronized int choose() throws InterruptedException {
        int readyIndex = 0;
        while (readyIndex==0) {
            readyIndex=testAll();
            if (readyIndex==0) {
                openAll();
                wait();
                clearAll();
            }
        }
        return readyIndex;
    }
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -