亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? primeclient.java

?? javaP2P技術內幕課程111213141516源代碼
?? JAVA
字號:
/* * Created by IntelliJ IDEA. * User: fsommers * Date: Apr 11, 2002 * Time: 12:56:33 AM * To change template for new class use  * Code Style | Class Templates options (Tools | IDE Options). */package primecruncher;import net.jxta.document.StructuredTextDocument;import javax.swing.*;import java.awt.*;import java.awt.event.WindowEvent;import java.awt.event.WindowAdapter;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;/** * A program that computes a list of prime numbers between two integers in a * distributed manner. It asynchronously discovers peers that advertise a * prime number searching service via a <code>ModuleSpecAdvertisement</code>. * When a user enters two integers, this program divides that list between all the * peers known to offer the prime searching functionality at the time. It then * opens a pipe to each such peer, and sends a message to each containing that peer's * segment boundary integers. That message also contains a <code>PipeAdvertisement</code> * to allow the prime seaching peer to send its response back to the requesting peer. * A prime searching peer computes the list of primes * between those boundary numbers, opens a pipe back to the requesting peer, and sends * a response message back, containing the computed list (as a comma-separated integer list). * The client peer waits for all peers to send back their responses, and it then * assembles the complete primes list from the partial results, and displays that list * back to the user. * This peer manages a cache of all known prime searching peers on the network. That list * is saved persistently. * For each * peer it finds, it periodically collects statistics about that peer. Statistics include the * peer's uptime, the number of message that peer processed, etc. It then scores each prime * searching peer according to those statistics. When a user submits a new search request, * the program favors peers with the best overall scores. When a request is distributed, this * peer will parcel out the complete list not equally, but according to the scores of the * intended target peers: Peers that perform better will receive a longer list, whereas * peers performing poorly will receive a shorter one. * When a message is sent to a peer, this peer notes the message that was sent, and the peer * to which the message was directed. When a response for a message is received, this peer * notes the time it took for the response to get back; it then takes that round-trip time, * plus the size of the list comprising that request to estimate the prime searching peer's * performance. That performance metrics is then taken into account at subsequent user * requests. * When a new requests is parcelled out, all known peers are utilized, regardless of their * performance metrics, if possible, to take advantage of parallelism. * When a message is sent out, there is no guarantee that an answer will be received. A time * boundary is set for how long to wait for a response. If a response is not received within * that boundary, the request will be discarded, and a new request for that list portion is * submitted to another peer. (HOW TO COMPUTE BOUNDARY?) * The <code>ResultListener</code> interface specifies a listener for prime results. * That listener is invoked when the results for a requested computation completes. */public class PrimeClient extends JPanel implements ResultListener {    //This object does the dispatching to other peers    //It acts as a proxy for the prime cruching service    private Dispatcher primeservice = null;    private JTextArea results;    private JTextArea status;    /**     * A graphical client for the prime-search service     */    public PrimeClient(Dispatcher disp) {        primeservice = disp;        buildGUI();    }    private void buildGUI() {        setLayout(new BorderLayout());        //top panel        JPanel topPanel = new JPanel();        topPanel.setLayout(new FlowLayout());        final JTextField fromField = new JTextField(10);        final JTextField toField = new JTextField(10);        topPanel.add(new JLabel("From: "));        topPanel.add(fromField);        topPanel.add(new JLabel("To: "));        topPanel.add(toField);        status = new JTextArea(5, 20);        results = new JTextArea(20, 20);        JScrollPane scrollPane = new JScrollPane(results);        JPanel centerPanel = new JPanel();        centerPanel.setLayout(new BorderLayout());        centerPanel.add(status, BorderLayout.NORTH);        centerPanel.add(scrollPane, BorderLayout.CENTER);       JButton goButton = new JButton("Go");        JButton exitButton = new JButton("Exit");        JPanel buttPanel = new JPanel();        buttPanel.add(goButton);        buttPanel.add(exitButton);        add(topPanel, BorderLayout.NORTH);        add(centerPanel, BorderLayout.CENTER);        add(buttPanel, BorderLayout.SOUTH);        goButton.addActionListener( new ActionListener() {            public void actionPerformed(ActionEvent e) {                String low = fromField.getText();                String high = toField.getText();                results.setText("");                try {                    int l = Integer.parseInt(low);                    int h = Integer.parseInt(high);                    primeservice.processPrimes(l, h, PrimeClient.this);                } catch (NumberFormatException e1) {                    status.setText("Wrong args");                }            }        });        exitButton.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent e) {                System.exit(0);            }        });    }    private void displayResult(Result res) {        results.append(res.toString());    }   public static void main(String[] args) {       Dispatcher disp = new Dispatcher();       PrimeClient app = new PrimeClient(disp);       JFrame f = new JFrame("Prime cruncher");       f.addWindowListener(new WindowAdapter() {           public void windowClosing(WindowEvent e) {               System.exit(0);           }       });       f.getContentPane().add(app);       f.pack();       f.setVisible(true);   }     public void resultEvent(Result result) {         displayResult(result);    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
1区2区3区精品视频| 黑人巨大精品欧美一区| 国产色一区二区| 日韩欧美一区在线| 在线观看成人小视频| 成人精品国产福利| 国产二区国产一区在线观看| 国产精品灌醉下药二区| 欧美一区二区三区四区五区| 欧美精品久久一区二区三区 | 99国产精品久久久| 国产成人自拍网| 国产高清成人在线| 国产剧情av麻豆香蕉精品| 久久国产精品99精品国产| 亚洲宅男天堂在线观看无病毒| 日韩毛片高清在线播放| 国产精品水嫩水嫩| 日本一区二区免费在线观看视频 | 精品视频一区二区不卡| 日本精品视频一区二区| 91女厕偷拍女厕偷拍高清| jlzzjlzz欧美大全| 欧美视频一区二区三区四区 | 欧美大片在线观看| 久久久精品黄色| 亚洲欧洲三级电影| 午夜a成v人精品| 精品一区二区久久久| 成人福利在线看| 欧美视频一区在线观看| 精品久久久久久久久久久久久久久久久 | 亚洲精品va在线观看| 一级做a爱片久久| 久久精品72免费观看| 成人教育av在线| 欧美三级日本三级少妇99| 欧美一级专区免费大片| 欧美激情一区二区| 一区二区免费看| 蜜臀久久久久久久| 成人国产免费视频| 欧美日本乱大交xxxxx| 久久女同互慰一区二区三区| ...xxx性欧美| 蜜臀a∨国产成人精品| 成人爱爱电影网址| 91精品国产高清一区二区三区 | 欧美日韩日日骚| 久久久久国产精品免费免费搜索| 亚洲三级小视频| 麻豆精品久久精品色综合| 99久久久国产精品| 日韩欧美国产一区二区三区 | 亚洲成人综合网站| 国产成人av影院| 欧美人妖巨大在线| 国产精品久久久久久久久免费桃花| 午夜精品免费在线| voyeur盗摄精品| 欧美精品一区二区三区视频| 亚洲一区二区偷拍精品| 国产不卡一区视频| 51精品久久久久久久蜜臀| 最新日韩av在线| 国精产品一区一区三区mba桃花 | 欧美色综合网站| 中文字幕免费不卡| 久久99久久精品| 欧美日韩夫妻久久| 亚洲日本护士毛茸茸| 国产毛片精品一区| 欧美一级精品大片| 亚洲小说春色综合另类电影| youjizz国产精品| 久久亚洲综合av| 蜜臀久久99精品久久久久久9 | 久久久高清一区二区三区| 视频一区视频二区中文字幕| 92国产精品观看| 中文无字幕一区二区三区| 激情五月播播久久久精品| 91精品视频网| 五月婷婷久久综合| 欧美性猛片xxxx免费看久爱| 亚洲欧美一区二区在线观看| 国产精品羞羞答答xxdd| 精品国产制服丝袜高跟| 免费在线观看精品| 91精品中文字幕一区二区三区| 亚洲v日本v欧美v久久精品| 久久综合九色综合欧美就去吻| 日韩高清欧美激情| 欧美卡1卡2卡| 日韩国产在线一| 欧美剧在线免费观看网站| 亚洲成人精品一区二区| 欧美性大战久久久久久久蜜臀| 亚洲美女视频在线观看| 色婷婷久久久久swag精品 | 国产一区二区三区av电影| 欧美电影免费观看高清完整版| 琪琪久久久久日韩精品| 欧美日韩国产欧美日美国产精品| 亚洲国产精品自拍| 在线免费精品视频| 一区二区成人在线视频 | 国产精品免费免费| 国产精品亚洲一区二区三区妖精| 26uuu精品一区二区| 国产久卡久卡久卡久卡视频精品| 久久精品视频在线免费观看| 丁香亚洲综合激情啪啪综合| 国产精品久久久久aaaa樱花 | 91精品欧美福利在线观看| 日本美女一区二区三区| 日韩三区在线观看| 国产剧情一区在线| 国产精品国产自产拍高清av| 成人av在线网站| 亚洲欧美偷拍三级| 欧美日韩国产片| 毛片一区二区三区| 欧美国产成人精品| 91视视频在线观看入口直接观看www | 亚洲影视在线播放| 欧美日韩激情在线| 蜜桃一区二区三区在线| 国产亚洲欧美日韩日本| 成人sese在线| 亚洲成av人片一区二区梦乃 | 亚洲伊人色欲综合网| 91精品国产综合久久精品性色| 久久超碰97人人做人人爱| 欧美国产欧美亚州国产日韩mv天天看完整| av在线不卡观看免费观看| 一卡二卡欧美日韩| 日韩欧美美女一区二区三区| 懂色中文一区二区在线播放| 亚洲精品国产一区二区精华液 | 国产电影精品久久禁18| 亚洲图片你懂的| 欧美日韩精品久久久| 国产一区福利在线| 亚洲欧美日韩在线| 日韩欧美高清在线| 成人18精品视频| 丝袜亚洲另类欧美| 国产精品美女久久久久久| 欧美高清视频不卡网| 国产成人丝袜美腿| 香蕉久久一区二区不卡无毒影院| 精品国产网站在线观看| 色综合网色综合| 六月丁香婷婷色狠狠久久| 亚洲人成网站在线| 欧美成人精品3d动漫h| 色综合久久久久综合体桃花网| 成人美女视频在线观看18| 午夜精品久久久久久久99樱桃| 久久夜色精品国产噜噜av | 国产精品成人免费| 精品视频资源站| 波多野结衣中文字幕一区二区三区 | 玉米视频成人免费看| 日韩精品一区二区三区在线播放| 99精品国产一区二区三区不卡| 久久精品99久久久| 一区二区三区在线视频播放| 亚洲精品在线网站| 在线播放中文一区| 91女人视频在线观看| 国产美女av一区二区三区| 午夜成人免费电影| 亚洲欧美激情插| 欧美激情在线免费观看| 欧美大片一区二区三区| 91国产免费观看| 成人av网站免费观看| 精品在线免费视频| 日韩中文字幕不卡| 一区二区三区不卡在线观看| 亚洲欧洲一区二区三区| 国产午夜精品久久| 精品国产乱码久久久久久图片 | 国产成人亚洲精品青草天美| 美国一区二区三区在线播放| 亚洲成人综合网站| 一区二区三区精品| 亚洲男人电影天堂| 中文字幕av一区二区三区| 国产三级精品视频| 久久久久97国产精华液好用吗| 欧美电影免费观看高清完整版| 欧美精品久久99久久在免费线| 欧洲精品中文字幕| 在线观看日韩毛片| 日本精品裸体写真集在线观看| 99精品视频免费在线观看| 成人福利电影精品一区二区在线观看|