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

腾讯建站官网设计网页步骤

腾讯建站官网,设计网页步骤,做公司网站需不需要注册,手机高端网站建设阻塞队列 kafka是目前来说性能最好的消息队列服务器#xff0c;能处理TB级别的数据 作用:点赞、评论时#xff0c;服务器会自动给某个用户发送通知 kafka是个框架#xff0c;如果不用框架还要解决类似问题#xff0c;就要用到阻塞队列 BlockingQueue 阻塞队列就是一个…阻塞队列 kafka是目前来说性能最好的消息队列服务器能处理TB级别的数据 作用:点赞、评论时服务器会自动给某个用户发送通知 kafka是个框架如果不用框架还要解决类似问题就要用到阻塞队列 BlockingQueue 阻塞队列就是一个接口BlockingQueuejava核心API中的接口 作用解决线程通信的问题。 wait/notify等也可以解决线程通信问题但更加麻烦因此如果要在API中选一种方法解决线程通信问题选择阻塞队列更好 阻塞方法put、take。 生产者消费者模式 生产者产生数据的线程。消费者使用数据的线程。 假设线程1为生产者线程2为消费者两线程直接打交道可能产生问题 生产速度过快远快于消费速度。当线程2不再需要数据后线程1没有被阻塞仍在占用cpu生产造成资源浪费 生产速度很慢赶不上消费速度。当线程2把数据使用完后没有被阻塞仍占用着cpu获取数据但取不到也造成系统资源浪费 BlockingQueue就是在生产者和消费者之间搭建了一个桥梁构造一个缓冲空间可避免两线程直接打交道。 线程1用put方法往队列里存数据线程2用take方法从队列中取数据。故线程1为生产者线程2为消费者。 线程1将生产的数据放在队列里若队列未满则继续生产若队列满了线程1就会被阻塞 线程2从队列中取数据若队列不空则继续取若队列为空线程2被阻塞 阻塞等着什么也不做不会占用cpu资源对系统性能没有影响。 BlockingQueue的实现类 ArrayBlockingQueueLinkedBlockingQueuePriorityBlockingQueue、SynchronousQueue、DelayQueue等 阻塞队列代码实例 public class BlockingQueueTests {public static void main(String[] args) {// 构造容量为10的阻塞队列BlockingQueue queue new ArrayBlockingQueue(10);// 创建一个生产者线程,并启动new Thread(new Producer(queue)).start();// 创建多个消费者线程,并启动new Thread(new Consumer(queue)).start();new Thread(new Consumer(queue)).start();new Thread(new Consumer(queue)).start();}}// 生产者类,用于构造生产者线程 class Producer implements Runnable {// 要求调用方在调用生产者线程时,要将阻塞队列传入,因为线程是要交给阻塞队列去管理的private BlockingQueueInteger queue;// 阻塞队列:通过泛型声明阻塞队列中存什么// 有参构造器:实例化时传入阻塞队列public Producer(BlockingQueueInteger queue) {this.queue queue;}Overridepublic void run() {try {// 生产者每隔20s生产一次数据,一共生产100次,将数据交给队列管理for (int i 0; i 100; i) {Thread.sleep(20);queue.put(i);// 打印: 哪个线程在生产,生产后阻塞队列中有多少个数System.out.println(Thread.currentThread().getName() 生产: queue.size());}} catch (Exception e) {e.printStackTrace();}}}// 消费者 class Consumer implements Runnable {private BlockingQueueInteger queue;public Consumer(BlockingQueueInteger queue) {this.queue queue;}Overridepublic void run() {try {// 消费者只要有数据就一直消费while (true) {// 消费者消费数据的时间间隔不是确定的,不能写死// 大概率生成的随机数比20大,即大概率生产速度快于消费速度Thread.sleep(new Random().nextInt(1000));// 弹出队首数据queue.take();// 打印:消费者是谁.消费后阻塞队列里有多少数据System.out.println(Thread.currentThread().getName() 消费: queue.size());}} catch (Exception e) {e.printStackTrace();}} }一些选择题 A
http://www.pierceye.com/news/513546/

相关文章:

  • 网站建设三方合同范本wordpress数字链接出现404
  • 下载用的网站怎么做网站模板怎么使用教程
  • 没有网站 可以做百度口碑吗展馆的科普网站建设
  • 河北网站备案查询系统商城网站seo
  • 网站申请页面网站空间不够用怎么办
  • 网站开发最合适的搭配螺栓球网架
  • 广东网站建设排名凡科建站下载
  • 建设厅网站预算员报名时间网站建设策划书的编制
  • 厦门手机网站建设公司哪家好鲜花网站源码
  • 北京家居网站建设如何制作软件手机软件
  • 北京网站建设策划解决方案长沙建设工程造价网站
  • 北京网站设计公司价格阿里云wordpress插件
  • 网站建设自助建站企业萧山人才网手机版
  • 长沙建站挺找有为太极wordpress 需要zend
  • 通信管理局 网站备案天猫网站设计教程
  • 营销型网站制作成都打造品牌的三点策略
  • 做查工资的网站如何下载网页在线视频
  • 北沙滩网站建设公司主页怎么填
  • 手机asp网站网站设计方案
  • 长春市网站开发广东一站式网站建设推荐
  • 企业网站推广策略商会联盟网站建设方案
  • 清丰网站建设百度推广建设网站是不是合发
  • 邢台12345网站哪个公司的装饰设计公司
  • 嘉兴网嘉兴网站建设手机网站管理软件
  • 网站主色调简介怎么说本地常州微信网站建设
  • 电子商务网站数据库建设怎样推广一个网站
  • illustrator 学习网站wordpress外链产品
  • 电脑端网站一般做多宽最好网页游戏制作成本
  • 怎样做好手机网站建设wordpress开启xml rpc
  • 泉州企业网站建设公司做外贸要建什么网站