当前位置: 首页 > news >正文

上海静安网站制作360推广和百度推广哪个好

上海静安网站制作,360推广和百度推广哪个好,typecho和wordpress,郑州网站建设到诺然当一个文件进行读的时候,其他线程也可以进行读,但是不能写入,当一个文件进行写的时候,其他线程不能读和写。我将使用一个数组形式的数据模拟读写的简单锁操作进行控制。package org.dyb.readwrite;public class DataHandler {priv…

当一个文件进行读的时候,其他线程也可以进行读,但是不能写入,当一个文件进行写的时候,其他线程不能读和写。

我将使用一个数组形式的数据模拟读写的简单锁操作进行控制。

package org.dyb.readwrite;

public class DataHandler {

private char[] buffer = "AAAAAAAAAAA".toCharArray();

private ReadWriteLock rwl = new ReadWriteLock();

public char[] read(String name) {

System.out.println(name + "waiting for read ...");

rwl.readLock();

try {

char[] data = doRead();

System.out.println(name + "reads data " + new String(data));

return data;

} finally{

rwl.readUnlock();

}

}

public void write(String name,char[] data){

System.out.println(name + "waiting for write ...");

rwl.writeLock();

try {

System.out.println(name + "reads data " + new String(data));

doWrite(data);

}finally{

rwl.writeUnlock();

}

}

private char[] doRead(){

char[] ret = new char[buffer.length];

for(int i=0;i

ret[i] = buffer[i];

sleep(3);

}

return ret;

}

private void doWrite(char[] data){

buffer = new char[data.length];

for(int i=0;i

buffer[i] = data[i];

sleep(10);

}

}

private void sleep(int ms) {

try {

Thread.sleep(ms);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

}在读写的操作上进行加锁。

package org.dyb.readwrite;

public class ReadWriteLock {

private int readingThreads = 0;

private int writingThreads = 0;

private int waitingThreads = 0;

private boolean preferWrite = true;

public synchronized void readLock(){

while(writingThreads>0||(preferWrite&&waitingThreads>0)){

try {

this.wait();

} catch (InterruptedException e) {

e.printStackTrace();

}

}

readingThreads++;

}

public synchronized void readUnlock(){

readingThreads--;

preferWrite = true;

notifyAll();

}

public synchronized void writeLock(){

waitingThreads++;

while(readingThreads>0||writingThreads>0){

try {

this.wait();

} catch (InterruptedException e) {

e.printStackTrace();

}finally{

waitingThreads--;

}

}

writingThreads++;

}

public synchronized void writeUnlock(){

writingThreads--;

preferWrite = false;

notifyAll();

}

}

http://www.lbrq.cn/news/2372797.html

相关文章:

  • wordpress 域名授权百度网站快速优化
  • 购物商城网站功能设计百度竞价排名医院事件
  • vue cdn做的网站百度导航和百度地图
  • 化工产品网站建设河南制作网站
  • 邯郸景区网站制作企业网站排名优化
  • 网站建设设计设计公司哪家好搜索引擎国外
  • cms影视建站系统关键词你们都搜什么
  • .net做网站用什么框架关键seo排名点击软件
  • 搬家公司网站模板国际网站平台有哪些
  • 做木工的网站seo网站优化做什么
  • php网站制作过程中遇到的问题及解决办法seo网站分析
  • wordpress七号技师代做seo关键词排名
  • iis 添加网站seo外包优化公司
  • 电子商务网站问题与解决方案百度推广如何代理加盟
  • 外贸网站建设公司上海网站推广优化
  • 网站建设风险是什么意思全网营销是什么意思
  • 网站策划模板昆明网络推广
  • 网站设计实例免费个人网站建站申请
  • 做网站的销售好做吗网络营销企业培训
  • 用ps做一份网站百度竞价排名费用
  • 优秀的定制网站建设公司快速排名官网
  • 宁波网站建设详细策划友妙招链接怎么弄
  • 网站模版是什么意思微信营销模式有哪些
  • 网站自定义错误页面模板石家庄关键词排名提升
  • 如何做网站导航栏的seo优化免费的外链平台
  • 企业局域网的组建与网站建设论文广告推广平台网站有哪些
  • 普象工业设计网站付费推广平台有哪些
  • 网站图片如何做链接一起来看在线观看免费
  • 湖南品牌网站建设百度指数的各项功能
  • ui设计与网站建设淘宝app官方下载
  • 多方案对比分析:后端数据加密策略及实践
  • MailAgentProcess.getInstance
  • Python包测试全攻略:从单元测试到持续集成
  • 鸿蒙系统账号与签名内容整理
  • [AI-video] 字幕服务 | 视频素材服务 | 视频生成服务
  • 随机链表的复制数据结构oj题(力口138)