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

网站制作知识/怎样开自己的网站

网站制作知识,怎样开自己的网站,营销型网站制作,wordpress 顺序阻塞队列 BlockingQueue 方式抛出异常有返回值阻塞等待超时等待添加addofferputoffer(,)移除removepolltakepoll(,)判断队列首elment 抛出异常 出现异常直接抛出 public static void test1(){//初始化是写入最大容量ArrayBlockingQueue arrayBlockingQueue new ArrayBlocking…

阻塞队列 BlockingQueue

方式抛出异常有返回值阻塞等待超时等待
添加addofferputoffer(,)
移除removepolltakepoll(,)
判断队列首elment
  1. 抛出异常 出现异常直接抛出
  public static void test1(){//初始化是写入最大容量ArrayBlockingQueue arrayBlockingQueue = new ArrayBlockingQueue(3);System.out.println(arrayBlockingQueue.add("a"));System.out.println(arrayBlockingQueue.add("b"));System.out.println(arrayBlockingQueue.add("c"));//System.out.println(arrayBlockingQueue.add("d"));System.out.println(arrayBlockingQueue.remove());System.out.println(arrayBlockingQueue.remove());System.out.println(arrayBlockingQueue.remove());}
  1. 有返回值 不会抛出异常
 public static void test2(){//初始化是写入最大容量ArrayBlockingQueue arrayBlockingQueue = new ArrayBlockingQueue(3);System.out.println(arrayBlockingQueue.offer("a"));System.out.println(arrayBlockingQueue.offer("b"));System.out.println(arrayBlockingQueue.offer("c"));//System.out.println(arrayBlockingQueue.add("d"));System.out.println(arrayBlockingQueue.poll());System.out.println(arrayBlockingQueue.poll());System.out.println(arrayBlockingQueue.poll());System.out.println(arrayBlockingQueue.poll());}
  1. 阻塞等待
   public static void test3() throws InterruptedException {//初始化是写入最大容量ArrayBlockingQueue arrayBlockingQueue = new ArrayBlockingQueue(3);arrayBlockingQueue.put("a");arrayBlockingQueue.put("b");arrayBlockingQueue.put("c");//System.out.println(arrayBlockingQueue.add("d"));System.out.println(arrayBlockingQueue.take());System.out.println(arrayBlockingQueue.take());System.out.println(arrayBlockingQueue.take());System.out.println(arrayBlockingQueue.take());}
  1. 超时等待 超过设置的时间就会取消等待
  public static void test4() throws InterruptedException {//初始化是写入最大容量ArrayBlockingQueue arrayBlockingQueue = new ArrayBlockingQueue(3);System.out.println(arrayBlockingQueue.offer("a"));System.out.println(arrayBlockingQueue.offer("b"));System.out.println(arrayBlockingQueue.offer("c"));//System.out.println(arrayBlockingQueue.add("d"));System.out.println(arrayBlockingQueue.poll());System.out.println(arrayBlockingQueue.poll());System.out.println(arrayBlockingQueue.poll());System.out.println(arrayBlockingQueue.poll(2, TimeUnit.SECONDS));}

同步队列 SynchronousQueue

  • 没有容量 只能放进去一个元素取出后才可以放入
 public static void main(String[] args) {SynchronousQueue<String> synchronousQueue = new SynchronousQueue<>();new Thread(()->{try {System.out.println("1111put");synchronousQueue.put("11");System.out.println("2222put");synchronousQueue.put("22");System.out.println("3333put");synchronousQueue.put("33");} catch (InterruptedException e) {e.printStackTrace();}},"1111").start();new Thread(()->{try {TimeUnit.SECONDS.sleep(2);synchronousQueue.take();System.out.println(111);TimeUnit.SECONDS.sleep(2);synchronousQueue.take();System.out.println(222);TimeUnit.SECONDS.sleep(2);synchronousQueue.take();System.out.println(333);} catch (InterruptedException e) {e.printStackTrace();}}).start();}

线程池

  • 降低资源的消耗 提高响应的速度(不用新建和销毁)

  • 方便管理

public ThreadPoolExecutor(int corePoolSize,//核心线程数int maximumPoolSize,//最大核心线程数long keepAliveTime,//超时时间TimeUnit unit,//超时时间单位BlockingQueue<Runnable> workQueue,//阻塞队列ThreadFactory threadFactory,//线程工厂,创建线程的RejectedExecutionHandler handler//拒绝策略) {if (corePoolSize < 0 ||maximumPoolSize <= 0 ||maximumPoolSize < corePoolSize ||keepAliveTime < 0)throw new IllegalArgumentException();if (workQueue == null || threadFactory == null || handler == null)throw new NullPointerException();this.corePoolSize = corePoolSize;this.maximumPoolSize = maximumPoolSize;this.workQueue = workQueue;this.keepAliveTime = unit.toNanos(keepAliveTime);this.threadFactory = threadFactory;this.handler = handler;}

线程池的创建

  public static void main(String[] args) {ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(2,5,3, TimeUnit.SECONDS,new LinkedBlockingDeque<>(3),Executors.defaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());}

线程池的四种拒绝策略

最大线程如何定义

  • CPU密集型
    • 几核CPU就定义为几可以保持CPU的效率最高
//获取CPU的核数
Runtime.getRuntime().availableProcessors();
  • IO密集型
    • 判断程序中十分消耗IO的线程
http://www.jmfq.cn/news/5229739.html

相关文章:

  • 新手什么网站做外贸/常见的推广平台有哪些
  • 前程无忧招聘网站标记怎么做/企业培训网
  • 哪个网站可以做抑郁症测试题/论文收录网站排名
  • 网站开发出来有后台么/谷歌app下载
  • wordpress 微信图标/网站内容优化关键词布局
  • 国学大师网站谁做的/北京网络推广公司wyhseo
  • 湖南高端网站制作公司/360手机优化大师下载
  • 建站公司转型做什么业务/宜昌今日头条新闻
  • 做网站有哪些费用/志鸿优化网
  • org已经备案的网站/网络营销案例分析题
  • 最专业的网站建设/google移动服务应用优化
  • 长安网站建设制作/媒体营销
  • 男人做爽的免费网站/抖音seo培训
  • 网站商城建设/合肥优化排名推广
  • 做网站开发的公司哪家好/百度移动版
  • 百度网站公司信息推广怎么做/软件开发培训班
  • 怎么把做的网站传/seo权威入门教程
  • 傻瓜做网站软件/搜索引擎营销ppt
  • 公司的网站如何进行修改布局/关于营销的最新的新闻
  • 西安知名网站推广/朝阳区seo技术
  • 云空间搭建网站/seo线下培训班
  • 成都市住房和城乡建设厅官网/南京网站设计优化公司
  • 我做网站/seo软件系统
  • 找人做网站推广/常州网站优化
  • 怎么做网站收录/个人网站免费制作平台
  • 网站没有地图怎么做/百度公司图片
  • 企业问题及解决方案/优化大师win10下载
  • 北京网站建设哪个好/统计工具
  • 网站建设与管理 吴代文/重庆网站排名优化教程
  • 辽宁省建设厅网站更新/百度指数免费查询入口