当前位置: 首页 > 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.zqtcl.cn/news/434882/

相关文章:

  • 电脑网站开发学习产品怎么做市场推广
  • 上海市网站建设公叿目前流行的app网站开发模式
  • 企业手机网站建设效果wordpress栏目链接地址
  • 产品经理做网站网络公司名字免费起名大全
  • 做得比较好的公司网站kol营销
  • 百度指数分析平台长春seo优化企业网络跃升
  • 如何免费做网站域名wordpress 赚钱
  • 苏州市住房建设局网站首页温州网站设计公司
  • 网站模板哪个好用汕头建设工程总公司
  • iis网站重定向软件开发培训机构排名
  • 浙江大学教室办事大厅网站建设网页棋牌搭建
  • 长沙市天心区建设局网站新河网站
  • 网站改版 升级的目的嘉兴海盐县城乡建设局网站
  • 网站建设一年多少钱上海工程建设交易信息网站
  • 网站推广到底应该怎么做中国建设银行网上登录入口
  • 东莞网站建设服务商wordpress页面样式
  • 亿星网站建设创业网站怎么做
  • 绿韵建设有限公司网站重庆景点分布图
  • 咨询类网站模板wordpress怎样切换语言
  • 大连网站建设与维护题库网站建设目标是
  • 威海网站开发询广西南宁网站运营
  • 网站的素材做logo长沙专业的网站建设企业
  • 网站显示速度的代码是什么情况专门做中式服装平台的网站
  • 驻马店做网站的公司大连网站模板建站
  • aso如何优化网站优化分析软件
  • IT周末做网站违反制度么wordpress 图床 插件
  • 成都网站建设scjsc888因网站建设关闭的公告
  • 唐山公司建设网站十大牌子网
  • 网站开发的选题依据电子商务网站建设内容
  • 中企动力做的网站被百度屏蔽推销网站话术