<!DOCTYPE html>
<html lang="zh-CN">
	<head>
		<meta charset="utf-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width,target-densitydpi=high-dpi,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="apple-mobile-web-app-capable" content="yes">
		<meta name="apple-mobile-web-app-status-bar-style" content="black">
		<meta name="format-detection" content="telephone=no">
		<title>java多线程(java多线程书籍推荐)-思洋互动</title>
		<meta name="keywords" content="java多线程(java多线程书籍推荐)">
	    <meta name="description" content="java多线程
本文详细讲解Java多线程，主要有：概述、界说使命，将使命交给线程，简略的线程履行：Executor，让线程有返回值，后台线程(daemon)、更便利的线程，多线程的反常捕捉，线程...">
		<meta name="renderer" content="webkit" />
		<link href="/css/main.css?v=39" rel="stylesheet">
		<link href="/css/base.css?v=39" rel="stylesheet">
        <link href="/css/swiper-3.4.2.min.css" rel="stylesheet">
		<script type="text/javascript" src="/js/jquery.min.js"></script>
        <script type="text/javascript" src="/js/swiper-3.4.2.min.js"></script>
		<!--[if lt IE 9]>
            <script src="/js/html5shiv.min.js"></script>
            <script src="/js/respond.min.js"></script>
            <link href="/css/ie.css" rel="stylesheet">
        <![endif]-->
		<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?8914d517c927d8e794148d05e387fb17";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>
<link rel="canonical" href="https://www.ciya.cn/article/3580.html">
		</head>
	<body class="no-banner">
		<div class="container">
			<div class="header">
	<div class="header-top">
		<div class="w1700">
			<a href="https://www.ciya.cn/"><img src="/images/logo.png?v=2"></a>
		</div>
	</div>
	<div class="header_b">
		<header class="slide">
			<div id="navToggle" class="menu-handler">
				<span class="burger burger-1 trans"></span>
				<span class="burger burger-2 trans-fast"></span>
				<span class="burger burger-3 trans"></span>
			</div>
		</header>
	</div>
	<nav class="slide">
		<div class="w1700">
			<a class="index" href="/"></a>
			<ul>
								<li><a href="https://www.ciya.cn/case/12.html">项目案例</a></li>
								<li><a href="https://www.ciya.cn/website/9.html">网站建设</a></li>
								<li><a href="https://www.ciya.cn/marketing/10.html">网络营销</a></li>
								<li><a href="https://www.ciya.cn/media/11.html">新媒体</a></li>
								<li class="active"><a href="https://www.ciya.cn/news/16.html">动态</a></li>
								<li><a href="https://www.ciya.cn/about/8.html">关于</a></li>
								<li><a href="https://www.ciya.cn/contact/13.html">联系</a></li>
							</ul>
		</div>
	</nav>
</div>            <div class="content slide">
                <div class="position bgf1">
                    <div class="w1700">
                        <a href="https://www.ciya.cn/">首页 ></a>
                        <a href="https://www.ciya.cn/news/16.html">动态 ></a>
                        <a href="https://www.ciya.cn/news/35.html">网站知识</a>
                    </div>
                </div>
                <div class="case-type">
                    <div class="w1700">
                                                <a href="https://www.ciya.cn/news/32.html" >品牌合作</a>
                                                <a href="https://www.ciya.cn/news/31.html" >新闻动态</a>
                                                <a href="https://www.ciya.cn/news/38.html" >网站建设</a>
                                                <a href="https://www.ciya.cn/news/41.html" >网站制作</a>
                                                <a href="https://www.ciya.cn/news/40.html" >网站设计</a>
                                                <a href="https://www.ciya.cn/news/42.html" >运营推广</a>
                                                <a href="https://www.ciya.cn/news/35.html"  class="active">网站知识</a>
                                            </div>
                </div>
                <div class="padding-tb80">
                    <div class="w1700 clear">
                        <div class="fl xwxq-l">
                            <div class="noselettext">
                                <div class="xwxq-title mg-bt60 wow slideUp">
                                    <h1 class="mg-bt35">java多线程(java多线程书籍推荐)</h1>
                                    <span>时间：2023-05-15</span>
                                </div>
                                <div class="edit2 mg-bt60 wow slideUp">
                                                                        <h2>java多线程</h2>
<p>本文详细讲解Java多线程，主要有：概述、界说使命，将使命交给线程，简略的线程履行：Executor，让线程有返回值，后台线程(daemon)、更便利的线程，多线程的反常捕捉，线程声明及发动多线程其他概念。<br />
&lt;一&gt;概述、界说使命<br />
一、概述<br />
为什么运用线程？从c开始，任何一门高级语言的默许履行次序是“按照编写的代码的次序履行”，日常开发进程中写的事务逻辑，凡是不触及并发的，都是让一个使命次序履行以保证得到想要的成果。可是，当你的使命需求处理的事务比较多时，且这些事务前后之间没有依赖（比如，a履行的进程中b也可以履行，b没有必要有必要等候a履行结束再去履行），那么此刻，咱们可以将一个使命拆分成多个小使命。<br />
例如，使命a担任接收键盘的输入，b担任将一些参数及核算提早做好（假定核算量比较大），c担任将a的输入和b的成果做和。此刻，abc次序履行的话，假设a的输入被堵塞了即正在等候用户输入，b就无法履行，而此刻cpu处于空置状态（假定是单cpu且单核），显着效率不高。<br />
换一个思路，假设：abc分开成为三个使命，a的输入被堵塞了，那么此刻就把b交给cpu去履行，待用户输入成果之后，b现已将核算成果输出给了c，此刻，用户提交后，c便立即核算出了成果。<br />
综上：多线程解决的是并发的问题，意图是使使命履行效率更高，完结前提是“堵塞”。它们看上去时同时在履行的，但实际上仅仅分时刻片试用cpu而已。<br />
二、java中的多线程<br />
1.界说使命<br />
使命：简略来说，便是一序列作业的调集，这些作业之间有前后次序，这一系列进程履行往后将完结一个成果或达到一个意图。<br />
首要，思考一个问题，为什么要界说使命？作为java程序员，咱们不关心底层的多线程机制是如何履行的，只关心我写个怎样的使命，java的底层的多线程机制才干知道，才干调用你的使命去履行。java是界说了Runnable接口让你去完结，意思便是：你完结Runnable接口类界说一个类，该类的目标便是我能辨认的使命，其他方式界说的程序，我都不会将它认为是使命。<br />
好，到这里要清晰一点，咱们此刻只谈论使命，不说多线程。使命和你平常在一个类中编写的代码并无差异，仅仅按照java的要求完结了一个接口，并在该接口的run办法中编写了你的代码。也便是说，你平常想编写一个类，该类可以完结一些功能，这个类里的任何办法、变量由你自己来界说，而编写使命时，你需求完结Runnable接口，把你想让该使命完结的代码写到run办法中，当然，你可以在你界说的使命类中再界说其他变量、办法以在run中调用。<br />
2.代码完结<br />
publicclassTaskimplementsRunnable{<br />
protectedintcountDown=10;<br />
privatestaticinttaskCount=0;<br />
privatefinalintid=taskCount;<br />
publicTask(){}<br />
publicTask(intcountDown){<br />
this.countDown=countDown;<br />
}<br />
publicStringstatus(){<br />
return&#8221;#&#8221;id&#8221;(&#8220;(countDown&gt;0?countDown:&#8221;Task!&#8221;)&#8221;).&#8221;;<br />
}<br />
@Override<br />
publicvoidrun(){<br />
while(countDown&#8211;&gt;0){<br />
System.out.print(status());<br />
Thread.yield();<br />
}<br />
}<br />
}<br />
注：此处代码源于《thinkinginjava》<br />
界说了使命，此刻并不触及多线程，所以，使命本身便是一个类，它的目标咱们可以在恣意试用到的当地调用，例如：<br />
publicclassTaskMain{<br />
publicstaticvoidmain(String[]args){<br />
Tasktask=newTask();<br />
task.run();<br />
}<br />
}<br />
便是在main中声明晰该实例的目标，并调用了它的run办法，同咱们平常创立类相同来调用目标的办法即可。<br />
至此，一个使命界说完了。也便是说按照java的要求，咱们完结了一个简略的使命。可是，完结使命的意图不仅仅为了完结使命，而是为了让多线程机制可以调用该使命去履行。请看：Java多线程——&lt;二&gt;将使命交给线程，线程声明<br />
&lt;二&gt;将使命交给线程，线程声明及发动<br />
一、使命和线程<br />
《thinkinginjava》中专门有一末节中对线程和使命两个概念进行了详细的区别，这也恰好说明使命和线程是有差异的。<br />
正如前文所说到的，使命仅仅一段代码，一段要达成你意图的代码，这段代码写在哪，怎么写其实无所谓，仅仅由于你希望java的多线程机制可以辨认并调用你编写的使命，所以规则了Runnable接口，让你的使命来完结该接口，把你想做的作业在完结该接口的run办法中完结。<br />
那么，现已界说了使命类，那使命和线程有什么关系呢？<br />
java的线程是用来驱动使命履行的，也便是说你得把使命挂载到一个线程上，这样该线程才干驱动你界说的使命来履行。<img class="aligncenter  wp-image-10194" src="https://zzzjtd.com/wp-content/uploads/2021/10/java10.jpg" alt="java" width="584" height="233" /><br />
二、界说线程<br />
1.显现的界说线程的进程便是将使命附着到线程的进程。线程Thread自身并不履行任何操作，它仅仅用来被多线程机制调用，并驱动赋予它的使命。<br />
如前次文章说到的使命类界说如下：<br />
publicclassTaskimplementsRunnable{<br />
protectedintcountDown=10;<br />
privatestaticinttaskCount=0;<br />
privatefinalintid=taskCount;<br />
publicTask(){}<br />
publicTask(intcountDown){<br />
this.countDown=countDown;<br />
}<br />
publicStringstatus(){<br />
return&#8221;#&#8221;id&#8221;(&#8220;(countDown&gt;0?countDown:&#8221;Task!&#8221;)&#8221;).&#8221;;<br />
}<br />
@Override<br />
publicvoidrun(){<br />
while(countDown&#8211;&gt;0){<br />
System.out.print(status());<br />
Thread.yield();<br />
}<br />
}<br />
}<br />
声明线程并将使命附着到该线程上：<br />
Threadt=newThread(newTask());<br />
这样，使命就附着给了线程，下面便是让线程发动，只需求如下的调用：<br />
t.start();<br />
至此，线程声明ok。<br />
有时，我会想，是不是像使命和线程的概念分离相同，此刻仅仅声明晰线程，而java的线程机制并不会调用该线程运行，还需求特殊的调用才干完结多线程履行。可是下面的一段代码告诉我，Thread类的start办法便是触发了java的多线程机制，使得java的多线程可以调用该线程<br />
publicstaticvoidmain(String[]args){<br />
Threadt=newThread(newTask());<br />
t.start();<br />
System.out.println(&#8220;WaitingforTask&#8221;);<br />
}<br />
输出成果如下：<br />
WaitingforTask<br />
#0(9).#0(8).#0(7).#0(6).#0(5).#0(4).#0(3).#0(2).#0(1).#0(Task!).<br />
先输出“WaitingforTask”证明调用完start()办法后，立即返回了主程序，并开始履行下面的句子。而你声明的t线程现已去被java的多线程机制调用，并驱动着它的使命运行了。<br />
2.补充<br />
想看到更多的线程使命运行，可以用下面的这段代码<br />
publicstaticvoidmain(String[]args){<br />
for(inti=0;i&lt;5;i){<br />
newThread(newTask()).start();<br />
}<br />
System.out.println(&#8220;WaitingforTask&#8221;);<br />
}<img class="aligncenter  wp-image-10195" src="https://zzzjtd.com/wp-content/uploads/2021/10/java11.jpg" alt="java1" width="490" height="172" /><br />
输出如下：<br />
WaitingforTask<br />
#0(9).#2(9).#4(9).#0(8).#2(8).#4(8).#0(7).#2(7).#4(7).#0(6).#2(6).#4(6).#0(5).#2(5).#4(5).#0(4).#2(4).#4(4).#3(9).#2(3).#4(3).#2(2).#4(2).#2(1).#4(1).#2(Task!).#4(Task!).#1(9).#0(3).#0(2).#0(1).#0(Task!).#3(8).#1(8).#3(7).#1(7).#3(6).#1(6).#3(5).#3(4).#3(3).#3(2).#3(1).#3(Task!).#1(5).#1(4).#1(3).#1(2).#1(1).#1(Task!).<br />
上面的输出说明不同使命的履行在线程被换进换出时混在了一起——由线程调度器自动控制。不同版别的jdk线程调度方式不同，所以产生的成果也不相同。<br />
这里触及了垃圾收回器的一个问题，每个Thread都注册了它自己，因此的确有一个对它的引用，并且在它的使命退出其run并死亡之前，垃圾收回器无法清除它。</p>
<h2>
java多线程书籍推荐</h2>
<p>多看书对提升技能仍是挺快的，究竟都是大佬长期整理出来的精华，很多问题也能在书中找到正确答案，方便的解决，坚持看书，你将与同龄人拉开距离。<br />
正好我良久没给我们引荐书单了，今天给我们引荐5本Java相关的书单，助你稳固Java核心技能，看看你都看过几本。<br />
1、Java多线程编程核心技能<br />
引荐语：资深Java专家10年经历总结，全程案例式解说，首本全面介绍Java多线程编程技能的专著，结合很多实例，全面解说Java多线程编程中的并发访问、线程间通信、锁等难突破的核心技能与应用实践。<br />
2、EffectiveJava中文版(原书第3版)<br />
引荐语：Java之父JamesGosling大力引荐、Jolt获奖作品全新晋级，针对Java7、8、9全面更新，Java程序员必备参考书。包括很多完好的示例代码和透彻的技能分析。<br />
3、Java编程的逻辑<br />
引荐语：从基本概念到高层框架，分析完成原理与JDK源代码，交融专业理论与应用实践，透彻理解Java编程的思维逻辑。<br />
4、Java并发编程的艺术<br />
引荐语：并发编程领域的扛鼎之作，作者是阿里和1号店的资深Java技能专家，对并发编程有非常深入的研讨，《Java并发编程的艺术》是他们多年一线开发经历的结晶。<br />
它选取了Java并发编程中核心的技能进行解说，从JDK源码、JVM、CPU等多角度全面分析和解说了Java并发编程的框架、东西、原理和办法，对Java并发编程进行了为深入和透彻的论述。<br />
5、Java9模块化开发：核心准则与实践<br />
引荐语：本书给出了Java模块体系的明确概述，并演示了怎么通过创立模块化应用程序来协助办理以及降低复杂性。</p>


		
										                                </div>
                            </div>
                                                        <div class="wzbq wow slideUp mg-bt30">
                                <span>文章标签：</span>
                                <div class="bqnr">
                                                                                                             <a href="https://www.ciya.cn/tags/website-building/">网站建设</a>
                                                                                                                                                                                                                                                                                                                                                                    </div>
                            </div>
                                                        <div class="xwxq-bot bgf1 wow slideUp">
                                <div class="xwxq-fy clear">
                                    <a class="fl" href="/article/3581.html"><i></i>java之父(趣闻：找工作被拒)</a>
                                    <a class="fr" href="/article/3579.html"><i></i>免费小程序(免费开发小程序的平台推荐)</a>
                                </div>
                                <a class="fhlb" href="#"></a>
                            </div>
                        </div>
                        <div class="fr xwxq-r">
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title mg-bt30">
                                        <h3>最新案例</h3><span>LATEST CASES</span>
                                    </div>
                                    <div class="zxal">
                                        <div class="swiper-container">
                                            <div class="swiper-wrapper">
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/409.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214103120.jpg" alt="广州呼吸研究院"/></div>
                                                            <p>广州呼吸研究院</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/433.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102846.jpg" alt="融创集团"/></div>
                                                            <p>融创集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/268.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102923.jpg" alt="粤海集团"/></div>
                                                            <p>粤海集团</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/414.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211216/20211216115258.jpg" alt="恒大足球学校"/></div>
                                                            <p>恒大足球学校</p>
                                                        </a>
                                                    </div>
                                                                                                        <div class="imgscale li swiper-slide">
                                                        <a href="https://www.ciya.cn/article/477.html">
                                                            <div class="img100 mg-bt20"><img src="/upload/20211214/20211214102958.jpg" alt="侨鑫集团"/></div>
                                                            <p>侨鑫集团</p>
                                                        </a>
                                                    </div>
                                                                                                </div>
                                        </div>
                                        <div class="zxalDot text-center swiperDot"></div>
                                    </div>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 mg-bt40 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>热点新闻</h3><span>TOP NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/3559.html">1  java heap space(解决方法)</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1222.html">2  如何在网站后台上传附件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1643.html">3  如何在网站后台上传PDF文件</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/1142.html">4  什么是流？</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/3543.html">5  java swing还有人用吗(swing为什么会被淘汰)</a></li>
                                                                            </ul>
                                </div>
                            </div>
                            <div class="xwxq-tj-page bgf1 wow slideUp">
                                <div class="xwxq-tj-warp bgfff">
                                    <div class="tjxw-title tjxw-title-line mg-bt20">
                                        <h3>最新动态</h3><span>NEWS</span>
                                    </div>
                                    <ul class="rdxw">
                                                                                <li><a href="https://www.ciya.cn/article/7318.html">1  商务网站的维护与更新：持续优化，保持竞争力</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7317.html">2  商务网站的社交媒体营销：扩大品牌影响力，吸引更多潜在客户</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7316.html">3  商务网站的广告投放：增加收益，提高知名度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7315.html">4  商务网站的在线客户服务：提供优质客服，提升用户满意度</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7314.html">5  商务网站的支付系统集成：安全、便捷的交易方式</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7313.html">6  商务网站搜索引擎优化（SEO）：提升排名，增加流量</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7312.html">7  商务网站响应式设计：实现多设备兼容，提升用户体验</a></li>
                                                                                <li><a href="https://www.ciya.cn/article/7311.html">8  商务网站开发：选择合适的编程语言和技术栈</a></li>
                                                                            </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="footerbox">
	<div class="footer">
		<div class="w1700">
			<ul>
				<li>
					<span class="fttitle">思洋 · 广州总部</span>
					<div>
						<p>广州天河区珠江新城富力盈力大厦北塔2706</p>
						<p>020-38013166（网站咨询专线）</p>
					</div>
					<p>400-001-5281 （售后服务热线）</p>
				</li>
				<li>
					<span class="fttitle">思洋 · 深圳</span>
					<div>
						<p>深圳市坂田十二橡树庄园F1-7栋</p>
						<p>Site/ http://www.szciya.com </p>
						<p>E-mail/ itciya@vip.163.com</p>
					</div>
					<p>品牌服务专线：400-001-5281 </p>
				</li>
				<li>
					<span class="fttitle">思洋 · 湖南</span>
					<div>
						<p>长沙市天心区芙蓉中路三段398号新时空大厦5楼</p>
						<p>联系电话/ (+86 0731)88282200</p>
					</div>
					<p>品牌服务专线/ 400-966-8830</p>
				</li>
				<li class="lastli">
					<p class="mt10">旗下运营网站：</p>
					<div class="mt10">
						<img src="/images/ftlogo2.png">
						<img src="/images/gogo.png">
						<img src="/images/ftlogo3.png">
						<img src="/images/ftlogo4.png">
						<img src="/images/ftlogo11.png">
					</div>
				</li>
			</ul>
		</div>
	</div>
	<div class="ft_bottom">
		<div class="w1700">
			<p class="cop">Copyright © 2016 广州思洋文化传播有限公司，保留所有权利。 <a href="https://beian.miit.gov.cn/" target="_blank">粤ICP备09033321号</a>
			</p>
		</div>
	</div>
</div>
<div class="le-box active">
	<div class="t show780">
		<a href="tel:13570966600">
			<img src="/images/ml9-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml9-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
	<div class="t">
		<img src="/images/ml1-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml1-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qr.jpg" alt="与项目经理交流">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<div class="t">
		<img src="/images/ml2-1.png?v=1" alt="" class="sow i">
		<img src="/images/ml2-1.png?v=1" alt="" class="iove i">
		<div class="iov">
			<div class="img">
				<img src="/images/qq001.jpg" alt="">
			</div>
			<div class="h">扫描二维码<br>与项目经理交流</div>
		</div>
	</div>
	<!--<div class="t">-->
		<!--<a href="http://wpa.qq.com/msgrd?v=3&amp;uin=1607245872&amp;site=ciya.cn&amp;menu=yes" target="_blank">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="sow i">-->
			<!--<img src="/images/ml2-1.png?v=1" alt="" class="iove i">-->
		<!--</a>-->
	<!--</div>-->
	<div class="t hide780">
		<a href="https://affim.baidu.com/unique_510425/chat?siteId=19536215&userId=510425&siteToken=8914d517c927d8e794148d05e387fb17" target="_blank">
			<img src="/images/ml3-1.png?v=1" alt="" class="sow i">
			<img src="/images/ml3-1.png?v=1" alt="" class="iove i">
		</a>
	</div>
</div>
<script>
	$(window).scroll(function(){
//		if($(window).scrollTop()>200){
//			$(".le-box").addClass("active");
//		}else{
//			$(".le-box").removeClass("active");
//		}
	})
</script>
<div class="wap_fx">
	<a href="tel:13570966600" class="phone"></a>
	<a href="mqqwpa://im/chat?chat_type=wpa&uin=1607245872&version=1&src_type=web&web_src=ciya.cn" target="_blank" class="qq"></a>
	<a href="javascript:;" class="wx2"></a>
	<a class="kef986" style="background:rgba(0,0,0,.6) url(/images/ml3-1.png?v=1) no-repeat center;background-size: cover;border-radius: 4px;" href="https://p.qiao.baidu.com/cps/chat?siteId=18513940&userId=510425&siteToken=e5e1bde478969b43bf99b7703a694c0b" target="_blank"></a>
</div>
<div class="wap-wxcode">
	<div class="middle-box">
		<div class="middle-inner">
			<div class="wap-wxcode-con">
				<img src="/images/ff_ewm.jpg" alt=""/>
				<div class="wap-wxcode-bot"><span class="wxname">ciya68</span><button class="copy-btn" data-clipboard-text="ciya68">点击复制</button></div>
				<div class="gb1002"></div>
			</div>
		</div>
	</div>
</div>
<input id="hide" type="hidden">
<script src="/js/clipboard.min.js"></script>
<script>
	$(function(){
		$(".wx2").click(function(){
			$(".wap-wxcode").show();
		});
		$(".gb1002").click(function(){
			$(".wap-wxcode").hide();
		});
		var copyBtn=new ClipboardJS('.copy-btn');
		copyBtn.on("success",function(e){
			// 复制成功
			// alert(e.text);
			showMessage('已成功复制微信号','success',2000)
			e.clearSelection();
		});
		copyBtn.on("error",function(e){
			//复制失败；
			showMessage('复制微信号失败','error',2000)
			console.log( e.action )
		});
		function showMessage(message,type,time) {
			let str = ''
			switch (type) {
				case 'success':
					str = '<div class="success-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color:#fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
					break;
				case 'error':
					str = '<div class="error-message" style="width: 100%;height: 50px;background-color: #030026;font-size:17px;text-align: center;color: #fff;position: fixed;left: 0%;bottom: 0%;line-height: 50px;z-index: 9999">\n' +
							'    <span class="mes-text">'+message+'</span></div>'
			}
			$('body').append(str)
			setTimeout(function () {
				$('.'+type+'-message').remove()
			},time)
		}


		var ua = navigator.userAgent.toLowerCase();
		var isWeixin = ua.indexOf('micromessenger')!= -1;
		if(isWeixin){
			$(".kef986").hide();
		}

	})
</script>
            </div>
        </div>
		<script type="text/javascript" src="/js/trunk.js?v=2"></script>
        <script>
            var zxal=null;
            var len=$(".zxal .swiper-slide").length;
            if(len>1){
                zxal = new Swiper('.zxal .swiper-container',{
                    speed:600,
                    loop:true,
                    autoplay : 5000,
                    autoplayDisableOnInteraction : false,
                    pagination : '.zxalDot',
                    paginationClickable :true,
                })
            }else{
                $(".zxalDot").hide();
            }
        </script>
	</body>
</html>

