异步读写
来源:互联网 发布:淘宝冰点营销 编辑:程序博客网 时间:2024/06/05 16:31
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Scanner;
/*
* 异步写文件
*/
public class UnsynchronizedWriterDemo {
public static void main(String[] args) {
// 缓冲区FIFO
final Queue<String> buf = new LinkedList<String>();
// 写入文件线程
final Thread t1 = new Thread() {
public void run() {
PrintWriter out = null;
try {
out = new PrintWriter(new OutputStreamWriter(
new FileOutputStream("c:/console.txt")),true);
} catch (IOException e) {
e.printStackTrace();
return;// 如果发生异常则退出程序
}
while (true) {
while (buf.isEmpty()) {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// e.printStackTrace();
System.out.println("t1 catch the interrupt here...");
}
}
String s = buf.poll();
out.println(s);
// out.flush();// 因为创建时没有指定自动刷新行输出。
}
}
};
t1.setDaemon(true);
t1.start();
final Thread t2 = new Thread() {
public void run() {
// 从控制台读取使用System.in这个输入流,类型为InputStream,使用Scanner 或 BufferReader类封装该流均可,
// 两个类都可以读取一行字符串,方法分别是nextLine(),readLine(),使用BufferedReader 会抛出异常。
// Scanner使用平台的默认编码方式将字节转换成字符。而BufferedReader封装InputStreamReader时,该Reader可以指定编码方式的。
// BufferedReader in = new BufferedReader(new InputStreamReader(
// System.in));
Scanner in = new Scanner(System.in);
// try {
while (true) {
// String str = in.readLine();
String str = in.nextLine();
if (str.equals("quit")) {
t1.interrupt();
System.out.println("t2 invoke t1.interrupte()...");
break;
}
buf.offer(str);
}
// } catch (IOException e) {
// e.printStackTrace();
// }
}
};
t2.start();
}
}
- 异步读写
- 异步读写
- 串口异步读写
- 文件异步读写
- windows io 异步读写
- 异步读写文件
- 串口异步读写
- C#.net 异步读写文件
- TCPClient异步连接与读写
- Win32串口异步读写函数
- Linux 异步IO 读写编程
- libevent异步IO读写操作
- 磁盘文件的正常读写与异步读写
- 磁盘文件的正常读写与异步读写
- 磁盘文件的正常读写与异步读写
- 磁盘文件的正常读写与异步读写
- 转:磁盘文件的正常读写与异步读写
- 磁盘文件的正常读写与异步读写
- Callable接口和Future接口
- 禁止复制文本框内容
- Tcp:上传图片升级版(满足多个客户端同时上传)(加入线程了)(自编)
- VMware网络配置详解
- SAP HR 中几个比较好用的TCODE
- 异步读写
- Thinkpad T400 Windows 7 RC 安装指南
- 反射reflect
- 服务器与客户端通信
- Object-C学习笔记四-----组合
- 关于在JSP界面获取action里的值,来做判断显示内容的取值法
- 整个kernel.org被黑客攻击了
- Chp.6普通权限与目录划分
- 用位运算解决进制转化问题