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

公司做网站需要哪些步骤wordpress 半天打不开

公司做网站需要哪些步骤,wordpress 半天打不开,wordpress 修改源码,个人网页设计内容3. 并发工具类 3.1 并发工具类-Hashtable Hashtable出现的原因 : 在集合类中HashMap是比较常用的集合对象#xff0c;但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我们可以使用Hashtable#xff0c;但是Hashtable的效率低下。 代码实现 …3. 并发工具类 3.1 并发工具类-Hashtable Hashtable出现的原因 : 在集合类中HashMap是比较常用的集合对象但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我们可以使用Hashtable但是Hashtable的效率低下。 代码实现 : package com.itheima.mymap; ​ import java.util.HashMap; import java.util.Hashtable; ​ public class MyHashtableDemo {public static void main(String[] args) throws InterruptedException {HashtableString, String hm new Hashtable(); ​Thread t1 new Thread(() - {for (int i 0; i 25; i) {hm.put(i , i );}}); ​ ​Thread t2 new Thread(() - {for (int i 25; i 51; i) {hm.put(i , i );}}); ​t1.start();t2.start(); ​System.out.println(----------------------------);//为了t1和t2能把数据全部添加完毕Thread.sleep(1000); ​//0-0 1-1 ..... 50- 50 ​for (int i 0; i 51; i) {System.out.println(hm.get(i ));}//0 1 2 3 .... 50 ​ ​} } 3.2 并发工具类-ConcurrentHashMap基本使用 ConcurrentHashMap出现的原因 : 在集合类中HashMap是比较常用的集合对象但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我们可以使用Hashtable但是Hashtable的效率低下。 基于以上两个原因我们可以使用JDK1.5以后所提供的ConcurrentHashMap。 体系结构 : 总结 : 1 HashMap是线程不安全的。多线程环境下会有数据安全问题 2 Hashtable是线程安全的但是会将整张表锁起来效率低下 3ConcurrentHashMap也是线程安全的效率较高。 在JDK7和JDK8中底层原理不一样。 代码实现 : package com.itheima.mymap; ​ import java.util.Hashtable; import java.util.concurrent.ConcurrentHashMap; ​ public class MyConcurrentHashMapDemo {public static void main(String[] args) throws InterruptedException {ConcurrentHashMapString, String hm new ConcurrentHashMap(100); ​Thread t1 new Thread(() - {for (int i 0; i 25; i) {hm.put(i , i );}}); ​ ​Thread t2 new Thread(() - {for (int i 25; i 51; i) {hm.put(i , i );}}); ​t1.start();t2.start(); ​System.out.println(----------------------------);//为了t1和t2能把数据全部添加完毕Thread.sleep(1000); ​//0-0 1-1 ..... 50- 50 ​for (int i 0; i 51; i) {System.out.println(hm.get(i ));}//0 1 2 3 .... 50} } 3.3 并发工具类-ConcurrentHashMap1.7原理 3.4 并发工具类-ConcurrentHashMap1.8原理 总结 : 1如果使用空参构造创建ConcurrentHashMap对象则什么事情都不做。 在第一次添加元素的时候创建哈希表 2计算当前元素应存入的索引。 3如果该索引位置为null则利用cas算法将本结点添加到数组中。 4如果该索引位置不为null则利用volatile关键字获得当前位置最新的结点地址挂在他下面变成链表。 5当链表的长度大于等于8时自动转换成红黑树6以链表或者红黑树头结点为锁对象配合悲观锁保证多线程操作集合时数据的安全性 3.5 并发工具类-CountDownLatch CountDownLatch类 : 方法解释public CountDownLatch(int count)参数传递线程数表示等待线程数量public void await()让线程等待public void countDown()当前线程执行完毕 使用场景 让某一条线程等待其他线程执行完毕之后再执行 代码实现 : package com.itheima.mycountdownlatch; ​ import java.util.concurrent.CountDownLatch; ​ public class ChileThread1 extends Thread { ​private CountDownLatch countDownLatch;public ChileThread1(CountDownLatch countDownLatch) {this.countDownLatch countDownLatch;} ​Overridepublic void run() {//1.吃饺子for (int i 1; i 10; i) {System.out.println(getName() 在吃第 i 个饺子);}//2.吃完说一声//每一次countDown方法的时候就让计数器-1countDownLatch.countDown();} } ​ package com.itheima.mycountdownlatch; ​ import java.util.concurrent.CountDownLatch; ​ public class ChileThread2 extends Thread { ​private CountDownLatch countDownLatch;public ChileThread2(CountDownLatch countDownLatch) {this.countDownLatch countDownLatch;}Overridepublic void run() {//1.吃饺子for (int i 1; i 15; i) {System.out.println(getName() 在吃第 i 个饺子);}//2.吃完说一声//每一次countDown方法的时候就让计数器-1countDownLatch.countDown();} } ​ package com.itheima.mycountdownlatch; ​ import java.util.concurrent.CountDownLatch; ​ public class ChileThread3 extends Thread { ​private CountDownLatch countDownLatch;public ChileThread3(CountDownLatch countDownLatch) {this.countDownLatch countDownLatch;}Overridepublic void run() {//1.吃饺子for (int i 1; i 20; i) {System.out.println(getName() 在吃第 i 个饺子);}//2.吃完说一声//每一次countDown方法的时候就让计数器-1countDownLatch.countDown();} } ​ package com.itheima.mycountdownlatch; ​ import java.util.concurrent.CountDownLatch; ​ public class MotherThread extends Thread {private CountDownLatch countDownLatch;public MotherThread(CountDownLatch countDownLatch) {this.countDownLatch countDownLatch;} ​Overridepublic void run() {//1.等待try {//当计数器变成0的时候会自动唤醒这里等待的线程。countDownLatch.await();} catch (InterruptedException e) {e.printStackTrace();}//2.收拾碗筷System.out.println(妈妈在收拾碗筷);} } ​ package com.itheima.mycountdownlatch; ​ import java.util.concurrent.CountDownLatch; ​ public class MyCountDownLatchDemo {public static void main(String[] args) {//1.创建CountDownLatch的对象需要传递给四个线程。//在底层就定义了一个计数器此时计数器的值就是3CountDownLatch countDownLatch new CountDownLatch(3);//2.创建四个线程对象并开启他们。MotherThread motherThread new MotherThread(countDownLatch);motherThread.start(); ​ChileThread1 t1 new ChileThread1(countDownLatch);t1.setName(小明); ​ChileThread2 t2 new ChileThread2(countDownLatch);t2.setName(小红); ​ChileThread3 t3 new ChileThread3(countDownLatch);t3.setName(小刚); ​t1.start();t2.start();t3.start();} } 总结 : 1. CountDownLatch(int count)参数写等待线程的数量。并定义了一个计数器。 2. await()让线程等待当计数器为0时会唤醒等待的线程 3. countDown() 线程执行完毕时调用会将计数器-1。 3.6 并发工具类-Semaphore 使用场景 : 可以控制访问特定资源的线程数量。 实现步骤 : 1需要有人管理这个通道 2当有车进来了发通行许可证 3当车出去了收回通行许可证 4如果通行许可证发完了那么其他车辆只能等着 代码实现 : package com.itheima.mysemaphore; ​ import java.util.concurrent.Semaphore; ​ public class MyRunnable implements Runnable {//1.获得管理员对象private Semaphore semaphore new Semaphore(2);Overridepublic void run() {//2.获得通行证try {semaphore.acquire();//3.开始行驶System.out.println(获得了通行证开始行驶);Thread.sleep(2000);System.out.println(归还通行证);//4.归还通行证semaphore.release();} catch (InterruptedException e) {e.printStackTrace();}} } ​ package com.itheima.mysemaphore; ​ public class MySemaphoreDemo {public static void main(String[] args) {MyRunnable mr new MyRunnable(); ​for (int i 0; i 100; i) {new Thread(mr).start();}} }
http://www.pierceye.com/news/434882/

相关文章:

  • wordpress获取站点链接网站门户
  • flashxml网站模板网站后期培训机构全国排名
  • 企业网站设计网站页面设计中为什么要有优先级排列
  • 暗网是什么网站滨江区网站开发公司
  • 南京网站排名优化费用株洲58同城网站建设电话
  • 电子商务网站建设与管理理解上海网站推广企业
  • 设计师网站pintsetseo短视频网页入口引流免费
  • 个人如何注册微信公众号怎么创建网站优化的意义
  • 网站换空间要重新备案吗百度人工电话
  • 做网站要注意哪些问题网站用什么工具做
  • 在福州的网站制作公司滨海新网站建设
  • 帝国网站地图插件泰兴企业网站建设
  • wordpress布置网站教程用dw做简单图片网站
  • 网页制作模板左右结构百度seo关键词优化方案
  • 长沙设备建站按效果付费wordpress可视化编辑器插件
  • 软件开发与网站开发硬件开发语言
  • 开封做网站睿艺美官方网站建设的必要
  • 自适应网站制作简创网络南联网站建设
  • 帮别人做钓鱼网站犯法吗贵州网站建设工作室
  • 企业网站域名空间优化公司治理结构
  • 网站建设 前沿文章php做网站脑图
  • 刷单网站开发装修企业网站源码
  • 莱州人社局网站网站开发项目资金运用明细
  • 水墨网站模板软通动力外包怎么样
  • 直播间网站建设小清新wordpress主题
  • 淘金网站建设推广汽车 营销 网站建设
  • 网站站内链接seo外链发布工具
  • 如何设计大型电商网站建设利用php做网站
  • 大朗网站仿做google广告
  • 跳转网站代码wordpress文章只能会员才能看