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

wordpress后台地址打开空白/seo的关键词无需

wordpress后台地址打开空白,seo的关键词无需,国外的网站建设公司,合肥房产备案查询官网场景: 有三个小孩儿,买了一个变形金刚玩具(Transformer).... 三个小孩都争着玩这个玩具....没有一个人可以玩... 第一种方式:每个人各玩一会.... 第二种方式:再买两个玩具,一个人玩一个. 每个小孩都当成一个线程.三个小孩就有三个线程. Child.java 2 3 import java.util.Random…

 

场景:

有三个小孩儿,买了一个变形金刚玩具(Transformer)....

三个小孩都争着玩这个玩具....没有一个人可以玩...

第一种方式:每个人各玩一会....

第二种方式:再买两个玩具,一个人玩一个.

每个小孩都当成一个线程.三个小孩就有三个线程.

 

Child.java

 2 
 3 import java.util.Random;
 4 import java.util.concurrent.TimeUnit;
 5 
 6 public class Child implements Runnable{
 7     private Transformer2 transformer;
 8     
 9     private String name ;
10 
11     
12     public Child(Transformer2 transformer) {
13         this.transformer = transformer;
14     }
15 
16     public Child() {
17     }
18 
19     public Transformer2 getTransformer() {
20         return transformer;
21     }
22 
23     public void setTransformer(Transformer2 transformer) {
24         this.transformer = transformer;
25     }
26 
27     public String getName() {
28         return name;
29     }
30 
31     public void setName(String name) {
32         this.name = name;
33     }
34     
35     
36     public void play(){
37         
38         
39         while (true) {
40             try {
41                 //transformer = new Transformer();//每次调用该方法,该对象都是新的。
42                 
43                 //想要的效果是每个小孩儿都有一个玩具,但是不管他玩多少次,这个玩具永远都是唯一的.
44                 transformer = Transformer2.getInstance();
45                 System.out.println(Thread.currentThread().getName() +" :"+transformer );
46                 String str = "擎天柱" + new Random().nextInt(10);
47                 System.out.println(Thread.currentThread().getName()
48                         + ": 将变形金刚设置成 :" + str);
49                 transformer.setType(str);
50                 TimeUnit.SECONDS.sleep(2);
51 
52                 String type = transformer.getType();
53 
54                 System.out.println(Thread.currentThread().getName()
55                         + ": 获取到的变形金刚是:" + type);
56 
57             } catch (InterruptedException e) {
58                 e.printStackTrace();
59             }
60         }
61         
62     }
63 
64     @Override
65     public void run() {
66         play();
67     }
68     
69 }

 

 

 Transformer.java

 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 
 7 /*
 8  * 每个线程都有且仅有一个 该类对象的引用。
 9  * 不应该在外部类中随便的去new 所以构造方法私有
10  * 
11  */
12 public class Transformer {
13 
14     private static Map<Thread, Transformer> maps = new HashMap<Thread, Transformer>();
15     
16     private String type;
17     
18     private Transformer(){}
19     
20     public static Transformer getInstance() {
21         Transformer instance = maps.get(Thread.currentThread());
22         if(instance == null) {
23             instance = new Transformer();
24             maps.put(Thread.currentThread(),instance);
25         }
26         return instance;
27     }
28     public String getType() {
29         return type;
30     }
31 
32     public void setType(String type) {
33         this.type = type;
34     }
35     
36     
37 }

 

 

Transformer2.java(使用ThreadLocal类)

 2 
 3 import java.util.HashMap;
 4 import java.util.Map;
 5 
 6 
 7 /*
 8  * 每个线程都有且仅有一个 该类对象的引用。
 9  * 
10  */
11 public class Transformer2 {
12 
13     //private static Map<Thread, Transformer2> maps = new HashMap<Thread, Transformer2>();
14     private static ThreadLocal<Transformer2> maps = new ThreadLocal<Transformer2>();
15     
16     private String type;
17 
18     
19     private Transformer2(){}
20     
21     public static Transformer2 getInstance() {
22         Transformer2 instance = maps.get();
23         if(instance == null) {
24             instance = new Transformer2();
25             maps.set(instance);
26         }
27         return instance;
28     }
29     public String getType() {
30         return type;
31     }
32 
33     public void setType(String type) {
34         this.type = type;
35     }
36 }

 

 

测试类:

 2 
 3 public class Test {
 4 
 5     public static void main(String[] args) {
 6         
 7         //Transformer transformer = new Transformer();
 8         
 9         for (int i = 0; i < 3; i++) {
10             new Thread(new Child()).start();
11         }
12     }
13 }

 

http://www.lbrq.cn/news/1247671.html

相关文章:

  • 做图片为主的网站对服务器的要求/bing搜索引擎下载
  • 做p2p网站/网络小说排行榜
  • 网站二级页怎么做/seo网站关键词优化方法
  • 汨罗住房和城乡建设局网站/深圳全网营销推广平台
  • 做网站费用可以看为广告费用吗/seo云优化公司
  • 用web做网站/品牌线上推广方案
  • 黑龙江网站备案管理局/项目平台
  • 网络公司网站模板/百度优化点击软件
  • 江门市建设工程投标网站/谷歌seo引擎优化
  • 建站平台软件/百度手机导航官方新版
  • 图片在线压缩/外包seo服务收费标准
  • 佛山市seo网站设计工具/百度爱采购竞价
  • 推广方式和渠道/谷歌seo公司
  • 怎么改网站模板/惠州网络营销公司
  • .net做的网站/深圳网站建设资讯
  • 网站的首页设计方案/四川seo快速排名
  • 广告图案大全图片素材/移动端关键词优化
  • 深圳做网站排名价格/市场营销策划公司排名
  • 外贸网站建设推广公司前景如何/北京本地网络推广平台
  • dw网站log怎么做/百度指数怎么查
  • 免费的黄冈网站有哪些平台软件/河北seo推广方案
  • ps做游戏网站/搜索引擎推广有哪些平台
  • 快速建立平台网站开发需要多少钱/百度搜索风云榜排名
  • 大连甘井子区二手房/seo的内容有哪些
  • 品牌网站建设流程/seo视频教程百度云
  • 怎么创建网站 免费的/外链相册
  • 旅游网站建设方案/网站开发的一般流程
  • 百度最容易收录的网站/郑州网络推广厂家
  • 网站后台浏览器/网站制作的基本流程是什么
  • 怎么做一键添加信任网站/百度竞价ocpc投放策略
  • Java 笔记 封装(Encapsulation)
  • 【ESP32设备通信】-LAN8720与ESP32集成
  • Leetcode-3152 特殊数组 II
  • 网络原理--HTTPHTTPS
  • Linux - 权限的理解(深入浅出,详细细微)
  • nodejs 实现Excel数据导入数据库,以及数据库数据导出excel接口(核心使用了multer和node-xlsx库)