`
webgdi
  • 浏览: 6320 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表

网络问题

:begin @echo off echo checking .... for /f "skip=7 tokens=2* delims=(%%" %%a in ('ping -n 2 IP') do ( echo %%a %% lost if "%%a"=="100" goto lost ) goto begin :lost ipconfig  /release *大网* ipconfig  /renew *大网* goto begin
前面讲了wait/notify机制,Thread还有一个sleep()静态方法,它也能使线程暂停一段时间。sleep与wait的不同点是:sleep并不释放锁,并且sleep的暂停和wait暂停是不一样的。obj.wait会使线程进入obj对象的等待集合中并等待唤醒。 但是wait()和sleep()都可以通过interrupt()方法打断线程的暂停状态,从而使线程立刻抛出InterruptedException。 如果线程A希望立即结束线程B,则可以对线程B对应的Thread实例调用interrupt方法。如果此刻线程B正在wait/sleep/join,则线程B会立刻抛出Interrup ...
通常,多线程之间需要协调工作。例如,浏览器的一个显示图片的线程displayThread想要执行显示图片的任务,必须等待下载线程downloadThread将该图片下载完毕。如果图片还没有下载完,displayThread可以暂停,当downloadThread完成了任务后,再通知displayThread“图片准备完毕,可以显示了”,这时,displayThread继续执行。 以上逻辑简单的说就是:如果条件不满足,则等待。当条件满足时,等待该条件的线程将被唤醒。在Java中,这个机制的实现依赖于wait/notify。等待机制与锁机制是密切关联的。例如: synchronized(obj) ...
多线程同步的实现最终依赖锁机制。我们可以想象某一共享资源是一间屋子,每个人都是一个线程。当A希望进入房间时,他必须获得门锁,一旦A获得门锁,他进去后就立刻将门锁上,于是B,C,D...就不得不在门外等待,直到A释放锁出来后,B,C,D...中的某一人抢到了该锁(具体抢法依赖于JVM的实现,可以先到先得,也可以随机挑选),然后进屋又将门锁上。这样,任一时刻最多有一人在屋内(使用共享资源)。 Java语言规范内置了对多线程的支持。对于Java程序来说,每一个对象实例都有一把“锁”,一旦某个线程获得了该锁,别的线程如果希望获得该锁,只能等待这个线程释放锁之后。获得锁的方法只有一个,就是synchron ...
java多线程设计模式(2) 线程的同步 作者:xuefeng 文章来源:本站原创 点击数:646 更新时间:2005-9-23 【字体:小 大】 -------------------------------------------------------------------------------- 如果您有任何疑问,请到开发论坛上提问。 -------------------------------------------------------------------------------- 由于同一进程内的多个线程共享内存空间,在Java中,就是共享实例, ...
作者:xuefeng 文章来源:本站原创 点击数:669 更新时间:2005-9-23 【字体:小 大】 -------------------------------------------------------------------------------- 如果您有任何疑问,请到开发论坛上提问。 -------------------------------------------------------------------------------- java语言已经内置了多线程支持,所有实现Runnable接口的类都可被启动一个新线程,新线程会执行该实例的run ...
/** 通过字符IO进行文件读写 */         FileReader reader = null;         FileWriter writer = null;         char[] charArr = new char[512];         try         {             reader = new FileReader(srcFilePathName);             writer = new FileWriter(targetFilePathName);             start = System.currentTimeMi ...
     /** 通过IO进行批量读写 */         byte[] array = new byte[512];         FileInputStream fin3 = null;         FileOutputStream fout3 = null;         try         {             fin3 = new FileInputStream(srcFilePathName);             fout3 = new FileOutputStream(targetFilePathName);             start = Sys ...
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.nio.ByteBuffer; import java.nio ...

ftp

/** * simple introduction FTP文件下载 * <p> * detailed comment FTP文件下载 notice: 之所以每次都要连接一次ftp是让它的目录重新返回到相对的根目录, * 如果复用上次的FtpClient则可能它当前在FTP的目录不是我们想要的 目录,所以在FTP上传下载文件时,最好每次都重新登录一下FTP * @author 2011-3-11 * @see * @since DPI V200R002 */
Global site tag (gtag.js) - Google Analytics