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

建设网站 无法显示图片旅游网站开发研究现状

建设网站 无法显示图片,旅游网站开发研究现状,装修门户网站程序 cms,大连建立网站公司类java.util.concurrent.Exchanger提供了一个同步点#xff0c;在这个同步点#xff0c;一对线程可以交换数据。每个线程通过exchange()方法的入口提供数据给他的伙伴线程#xff0c;并接收他的伙伴线程提供的数据#xff0c;并返回。 当在运行不对称的活动时很有用#x…类java.util.concurrent.Exchanger提供了一个同步点在这个同步点一对线程可以交换数据。每个线程通过exchange()方法的入口提供数据给他的伙伴线程并接收他的伙伴线程提供的数据并返回。 当在运行不对称的活动时很有用比如当一个线程填充了buffer另一个线程从buffer中消费数据的时候这两个线程可以用Exchanger来交换数据。当两个线程通过Exchanger交换数据的时候这个交换对于两个线程来说是线程安全的。两个线程都会等到自己的程序运行到Exchanger这个地方时进行等待。然后再进行数据交换交换完毕后各自进行以后的程序流程。 以下这个程序demo要做的事情就是生产者在交换前生产5个生产者然后再与消费者交换5个数据然后再生产5个交换后生产者而消费者要在交换前消费5个消费者然后再与生产者交换5个数据然后再消费5个交换后消费者。 import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.concurrent.Exchanger;/*** 两个线程间的数据交换**/ SuppressWarnings(all) public class ExchangerDemo {private static final Exchanger ex new Exchanger();class DataProducer implements Runnable {private List list new ArrayList();public void run() {System.out.println(生产者开始运行);System.out.println(开始生产数据);for (int i 1; i 5; i) {System.out.println(生产了第 i 个数据耗时1秒);list.add(生产者 i);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}System.out.println(生产数据结束);System.out.println(开始与消费者交换数据);try {// 将数据准备用于交换并返回消费者的数据list (List) ex.exchange(list);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(结束与消费者交换数据);System.out.println(生产者与消费者交换数据后再生产数据);for (int i 6; i 10; i) {System.out.println(交换后生产了第 i 个数据耗时1秒);list.add(交换后生产者 i);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}System.out.println(开始遍历生产者交换后的数据);// 开始遍历生产者的数据for (Iterator iterator list.iterator(); iterator.hasNext();) {System.out.println(iterator.next());}}}class DataConsumer implements Runnable {private List list new ArrayList();public void run() {System.out.println(消费者开始运行);System.out.println(开始消费数据);for (int i 1; i 5; i) {System.out.println(消费了第 i 个数据);// 消费者产生数据后面交换的时候给生产者list.add(消费者 i);}System.out.println(消费数据结束);System.out.println(开始与生产者交换数据);try {// 进行数据交换返回生产者的数据list (List) ex.exchange(list);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(消费者与生产者交换数据后再消费数据);for (int i 6; i 10; i) {System.out.println(交换后消费了第 i 个数据);list.add(交换后消费者 i);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}}try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(开始遍历消费者交换后的数据); for (Iterator iterator list.iterator(); iterator.hasNext();) {System.out.println(iterator.next());}}}public static void main(String args[]) {ExchangerDemo et new ExchangerDemo();new Thread(et.new DataProducer()).start();new Thread(et.new DataConsumer()).start();} } 运行结果 生产者开始运行 开始生产数据 生产了第1个数据耗时1秒 消费者开始运行 开始消费数据 消费了第1个数据 消费了第2个数据 消费了第3个数据 消费了第4个数据 消费了第5个数据 消费数据结束 开始与生产者交换数据 生产了第2个数据耗时1秒 生产了第3个数据耗时1秒 生产了第4个数据耗时1秒 生产了第5个数据耗时1秒 生产数据结束 开始与消费者交换数据 结束与消费者交换数据 生产者与消费者交换数据后再生产数据 交换后生产了第6个数据耗时1秒 消费者与生产者交换数据后再消费数据 交换后消费了第6个数据 交换后生产了第7个数据耗时1秒 交换后消费了第7个数据 交换后消费了第8个数据 交换后生产了第8个数据耗时1秒 交换后消费了第9个数据 交换后生产了第9个数据耗时1秒 开始遍历生产者交换后的数据 消费者1 消费者2 消费者3 消费者4 消费者5 交换后生产者6 交换后生产者7 交换后生产者8 交换后生产者9 开始遍历消费者交换后的数据 生产者1 生产者2 生产者3 生产者4 生产者5 交换后消费者6 交换后消费者7 交换后消费者8 交换后消费者9  转载于:https://www.cnblogs.com/XL-Liang/archive/2012/06/14/2549504.html
http://www.pierceye.com/news/253189/

相关文章:

  • 网站设计的安全尺寸正规的培训行业网站开发
  • 网站提交了被收录后改怎么做商丘网站制作教程
  • 建网站被封了网站建设网页设计小江
  • 用node做的网站索引网站有哪些
  • 无锡设计网站建设时尚杂志网站设计分析
  • 嘉定区网站建设网站建设怎么谈
  • 网站开发 毕业设计如何做网站app
  • 优惠券网站开发谷歌seo搜索引擎下载
  • 安徽省建设工程资料上传网站重庆相亲网
  • 河南建设网站官网中英文公司网站
  • 手机版网站如何建设会议响应式网站开发
  • 肇庆住房建设部网站国外专门做旅游攻略的网站
  • 网站如何设置长尾词静态网站开发一体化课程
  • 学校网站建设流程做网站用哪个工具
  • 网站开发工作室策划案域名的价格
  • 郑州艾特网站建设公司互联网保险图片
  • 网站后台任务网站设计建设一般多少钱
  • 电子商务网站设计的基本流程创业商机网农村
  • 公司网站建设的费用如何入账毕节网站开发公司电话
  • 新浪推网站蜘蛛网站长工作职责
  • 百度网站排名关键词整站优化将wordpress部署
  • 做的ASP网站手机微站和网站数据同步
  • 爱站网长尾关键词挖掘工具营销类型网站怎么建设
  • 泉州seo网站推广在线查企业
  • 东营房地产网站建设wordpress文章关键字替换
  • 网站制作哪里好薇网站建设中最重要的环节是
  • 中山做营销型网站石家庄招投标公共服务平台官网
  • 修改wordpress的站点地址WordPress全屏图
  • 购物网站建设源码wordpress如何更改页脚背景颜色
  • 大型网站开发技术注册网站代码