激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務器之家 - 編程語言 - JAVA教程 - java多線程讀寫文件示例

java多線程讀寫文件示例

2019-11-18 14:41Java教程網 JAVA教程

這篇文章主要介紹了java多線程讀寫文件示例,需要的朋友可以參考下

代碼如下:

package com.ysh.file;

 

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;

import com.google.common.collect.Lists;

public class WriteQueue {
 private static final int MAX_QUEUE_SIZE = 10000;
 private LinkedList<String> queueCache = Lists.newLinkedList();
 private Lock lock = new ReentrantLock();
 private Condition full = lock.newCondition();
 private Condition empty = lock.newCondition();

 private WriteQueue() {
 }

 private static class WriteQueueHolder {
  private final static WriteQueue INSTANCE = new WriteQueue();
 }

 public static WriteQueue getInstance() {
  return WriteQueueHolder.INSTANCE;
 }

 public void add(String line) {
  lock.lock();
  try {
   while (queueCache.size() >= MAX_QUEUE_SIZE) {
    full.await();
   }
   queueCache.addFirst(line);
   empty.signal();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } finally {
   lock.unlock();
  }
 }

 public void add(List<String> lineList) {
  lock.lock();
  try {
   while (queueCache.size() >= MAX_QUEUE_SIZE) {
    full.await();
   }
   queueCache.addAll(lineList);
   empty.signal();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } finally {
   lock.unlock();
  }
 }

 public ArrayList<String> flush() {
  ArrayList<String> temp = null;
  lock.lock();
  try {
   while (queueCache.size() == 0) {
    empty.await();
   }
   temp = Lists.newArrayList();
   temp.addAll(queueCache);
   queueCache.clear();
   full.signal();
  } catch (InterruptedException e) {
   e.printStackTrace();
  } finally {
   lock.unlock();
  }
  return temp;
 }

}

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 九九热久久免费视频 | 粉嫩粉嫩一区二区三区在线播放 | 欧美一级一片 | 99综合视频 | 亚洲人成综合第一网 | 91快色| av日韩一区二区三区 | 午夜视频色 | 国产一及毛片 | 蜜桃视频在线入口www | 久久艹综合 | 欧美精品电影一区 | 欧美亚洲一级 | 91精品国产乱码久久桃 | 成人短视频在线观看免费 | 成人三级电影网站 | 久久精品国产亚洲一区二区 | 毛片在线免费视频 | 久久精品com| 免费播放av | 99精品视频99 | 成人午夜一区 | 激情网站免费观看 | 91精品国产网站 | 国产一级一国产一级毛片 | 欧美性受ⅹ╳╳╳黑人a性爽 | 嫩草影院在线观看网站成人 | 久草在线手机视频 | 日韩毛片免费观看 | 欧美一区二区三区四区电影 | 夜夜夜操操操 | 日韩精品中文字幕在线观看 | 国产三级午夜理伦三级 | 中文字幕一区二区三区久久 | 一级片在线免费观看 | 99精品无人区乱码在线观看 | 久久2019中文字幕 | 久久精品国产清自在天天线 | 水卜樱一区二区av | 黄色片网站在线免费观看 | 精品一区二区久久久久久按摩 |