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

📄 wakeupadapter.java

📁 一个基于NetBeans平台开发的
💻 JAVA
字号:
/** * WakUpAdapter.java *发送请求后,对方没有数据就不做响应, *而自己还为了等待这个数据而阻塞, *这个问题是通过添加一个"唤醒器"来实现的, *每次发送数据进行阻塞等待时,打开唤醒器, *15秒后,如果缓存中仍然没有数据的话, *就向缓存装入一个无效数据, *目的是唤醒因缓存无数据而阻塞的线程, *此线程被唤醒后,会发现这个数据是无效数据, *从而放弃它,重新向请求队列中的peer 发送请求。 * * Created on 2005年3月16日, 上午9:07 */package com.sinpool.rivercrescent.myutil;import net.jxta.endpoint.*;import net.jxta.document.*;import net.jxta.protocol.*;import com.sinpool.rivercrescent.BufferZone.JoinedDownloadMessageBuffer;/** * * @author  sinpool */public class WakeUpAdapter implements Runnable{    private JoinedDownloadMessageBuffer jdmb = null;    /** Creates a new instance of WakUpAdapter */    public WakeUpAdapter(JoinedDownloadMessageBuffer jdmb ) {        this.jdmb = jdmb;    }    public void run(){System.out.println("唤醒器启动 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS");        try {Thread.sleep(15000);} catch (Exception e) {}        if ( jdmb.size() == 0 ){            Message outmsg = new Message();            ByteArrayMessageElement outMsgTypeElement = new ByteArrayMessageElement("Type",MimeMediaType.XMLUTF8,"Req".getBytes(),null);            outmsg.addMessageElement(outMsgTypeElement);System.out.println("唤醒器开始工作………………");synchronized ( jdmb ){    jdmb.notify();}System.out.println("唤醒器已经工作完毕………………");        }    }}

⌨️ 快捷键说明

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