<!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多线程(spring实现多线程)-思洋互动</title>
		<meta name="keywords" content="java多线程(spring实现多线程)">
	    <meta name="description" content="java多线程
1.并发与并行
并发：
指两个或多个事情在同一个时间段内产生。
并行:
并行：指两个或多个事情在同一时间产生（同时产生）。
2.线程与进程
进程：
是指一个内存中运转的应...">
		<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/3525.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多线程(spring实现多线程)</h1>
                                    <span>时间：2023-05-15</span>
                                </div>
                                <div class="edit2 mg-bt60 wow slideUp">
                                                                        <h2>java多线程</h2>
<p>1.并发与并行<br />
并发：<br />
指两个或多个事情在同一个时间段内产生。<br />
并行:<br />
并行：指两个或多个事情在同一时间产生（同时产生）。<br />
2.线程与进程<br />
进程：<br />
是指一个内存中运转的应用程序，每个进程都有一个独立的内存空间，一个应用程序能够同时运转多个进程；进程也是程序的一次履行进程，是体系运转程序的基本单位；体系运转一个程序便是一个进程从创立、运转到消亡的进程。<br />
线程：<br />
线程是进程中的一个履行单元，负责当时进程中程序的履行，一个进程中至少有一个线程。一个进程中是能够有多个线程的，这个应用程序也能够称之为多线程程序。<br />
线程的创立<br />
构造办法：<br />
publicThread():分配一个新的线程目标。<br />
publicThread(Stringname):分配一个指定姓名的新的线程目标。<br />
publicThread(Runnabletarget):分配一个带有指定目标新的线程目标。<br />
publicThread(Runnabletarget,Stringname):分配一个带有指定目标新的线程目标并指定姓名。<br />
一些常见的办法：<br />
publicStringgetName():获取当时线程称号。<br />
publicvoidstart():导致此线程开始履行;Java虚拟机调用此线程的run办法。<br />
publicvoidrun():此线程要履行的任务在此处界说代码。<br />
publicstaticvoidsleep(longmillis):使当时正在履行的线程以指定的毫秒数暂停（暂时间断履行）。<br />
publicstaticThreadcurrentThread():返回对当时正在履行的线程目标的引用。<img class="aligncenter size-full wp-image-15637" src="https://zzzjtd.com/wp-content/uploads/2023/02/java1.jpg" alt="java" width="589" height="455" /><br />
wait（）办法<br />
wait办法的效果便是使当时履行的代码进行等候，wait()办法便是Object类的办法，该办法是用来将当时线程置入&#8221;预履行队列中&#8221;，并且在wait办法()所在的代码处间断履行，直到接到通知或被中断间断<br />
wait办法只能在同步办法中或同步块中调用。如果调用的wait时，没有持有恰当的锁，会抛出异常。<br />
wait（）办法履行后，当时线程释放锁，线程与其它线程竞争重新获取锁。<br />
notify（）办法<br />
notify办法便是使间断的线程持续运转<br />
办法notify()也要在同步办法或同步块中调用，该办法是用来通知那些可能等候该目标的目标锁的其它线程，对其发出通知notify，并使它们重新获取该目标的目标锁。如果有多个线程等候，则有线程规划器随机挑选出一个呈wait状况的的线程。<br />
在notify()办法后，当时线程不会马上释放该目标锁，要比及履行notify()办法的线程将程序履行完，也便是退出同步代码块之后才会释放目标锁。<br />
查看线程的运转状况<br />
线程有六种状况分别是：新建、运转、堵塞、等候、计时等候和停止<br />
完成思路：<br />
创立一个类;ThreadState,完成Runnable接口<br />
界说三个办法：<br />
.waitForASecond()：使当时线程等候0.5秒或其他线程调用notify()或notifyAll()办法<br />
.waitForYears();使当时线程永久等候，直到其他线程调用notify()或notifyAll()办法<br />
.notifyNow():唤醒由调用wait办法()进入等候状况的线程</p>
<h2>
spring实现多线程</h2>
<p>由于本周大部分时刻都在写原型，首要遇到的问题就是对实践功用理解不精确导致多次修正原型浪费了很多时刻，这也就告知咱们一定要清晰实践要求再去下手。<br />
由于之前会议中也多次提到了线程，而我本人对线程没有什么理解于是便有了以下文章。<br />
为什么运用多线程<br />
在咱们开发体系过程中，经常会处理一些费时刻的使命（如：向数据库中刺进很多数据），这个时候就就需要运用多线程。<br />
Springboot中是否对多线程办法进行了封装<br />
是，Spring中可直接由@Async完成多线程操作<br />
如何操控线程运行中的各项参数<br />
通过装备线程池。<br />
线程池ThreadPoolExecutor履行规矩如下<br />
然后咱们来以为构造一个线程池来试一下：<br />
@Configuration<br />
@EnableAsync<br />
publicclassThreadPoolConfigimplementsAsyncConfigurer{<br />
/**<br />
*中心线程池巨细<br />
*/<br />
privatestaticfinalintCORE_POOL_SIZE=3;<br />
/**<br />
*最大可创立的线程数<br />
*/<br />
privatestaticfinalintMAX_POOL_SIZE=10;<br />
/**<br />
*行列最大长度<br />
*/<br />
privatestaticfinalintQUEUE_CAPACITY=10;<br />
/**<br />
*线程池保护线程所答应的闲暇时刻<br />
*/<br />
privatestaticfinalintKEEP_ALIVE_SECONDS=300;<br />
/**<br />
*异步履行办法线程池<br />
*<br />
*@return<br />
*/<br />
@Override<br />
@Bean<br />
publicExecutorgetAsyncExecutor(){<br />
ThreadPoolTaskExecutorexecutor=newThreadPoolTaskExecutor();<br />
executor.setMaxPoolSize(MAX_POOL_SIZE);<br />
executor.setCorePoolSize(CORE_POOL_SIZE);<br />
executor.setQueueCapacity(QUEUE_CAPACITY);<br />
executor.setKeepAliveSeconds(KEEP_ALIVE_SECONDS);<br />
executor.setThreadNamePrefix(&#8220;LiMingTest&#8221;);<br />
//线程池对回绝使命(无线程可用)的处理战略<img class="aligncenter size-full wp-image-15638" src="https://zzzjtd.com/wp-content/uploads/2023/02/java.lang1_.jpg" alt="java" width="738" height="574" /><br />
executor.setRejectedExecutionHandler(newThreadPoolExecutor.CallerRunsPolicy());<br />
executor.initialize();<br />
returnexecutor;<br />
}<br />
}<br />
ThreadPoolExecutor是JDK中的线程池完成，这个类完成了一个线程池需要的各个办法，它提供了使命提交、线程办理、监控等办法。<br />
corePoolSize：中心线程数<br />
线程池保护的最小线程数量，默许情况下中心线程创立后不会被收回（注意：设置allowCoreThreadTimeout=true后，闲暇的中心线程超过存活时刻也会被收回）。<br />
大于中心线程数的线程，在闲暇时刻超过keepAliveTime后会被收回。<br />
maximumPoolSize：最大线程数<br />
线程池答应创立的最大线程数量。<br />
当增加一个使命时，中心线程数已满，线程池还没达到最大线程数，并且没有闲暇线程，作业行列已满的情况下，创立一个新线程，然后从作业行列的头部取出一个使命交由新线程来处理，而将刚提交的使命放入作业行列尾部。<br />
keepAliveTime：闲暇线程存活时刻<br />
当一个可被收回的线程的闲暇时刻大于keepAliveTime，就会被收回。<br />
被收回的线程：<br />
设置allowCoreThreadTimeout=true的中心线程。<br />
大于中心线程数的线程（非中心线程）。<br />
workQueue：作业行列<br />
新使命被提交后，假如中心线程数已满则会先增加到作业行列，使命调度时再从行列中取出使命。作业行列完成了BlockingQueue接口。<br />
handler：回绝战略<br />
当线程池线程数已满，并且作业行列达到约束，新提交的使命运用回绝战略处理。可以自定义回绝战略，回绝战略需要完成RejectedExecutionHandler接口。<br />
JDK默许的回绝战略有四种：<br />
AbortPolicy：丢掉使命并抛出RejectedExecutionException反常。<br />
DiscardPolicy：丢掉使命，但是不抛出反常。或许导致无法发现体系的反常状况。<br />
DiscardOldestPolicy：丢掉行列最前面的使命，然后重新提交被回绝的使命。<br />
CallerRunsPolicy：由调用线程处理该使命。<br />
咱们在非测验文件中直接运用newThread创立新线程时编译器会发出正告:<br />
不要显式创立线程，请运用线程池。<br />
阐明：运用线程池的优点是减少在创立和毁掉线程上所花的时刻以及体系资源的开销，解决资源缺乏的问题。假如不运用线程池，有或许造成体系创立很多同类线程而导致耗费完内存或者“过度切换”的问题<br />
publicclassTestServiceImplimplementsTestService{<br />
privatefinalstaticLoggerlogger=LoggerFactory.getLogger(TestServiceImpl.class);<br />
@Override<br />
publicvoidtask(inti){<br />
logger.info(&#8220;使命:&#8221;+i);<br />
}<br />
}<br />
@Autowired<br />
TestServicetestService;<br />
@Test<br />
publicvoidtest(){<br />
for(inti=0;i&lt;50;i++){<br />
testService.task(i);<br />
}<br />
咱们可以看到全部履行正常；<br />
之后我有对线程进行了一些测验：<br />
classTestServiceImplTest{<br />
@Test<br />
publicvoidtest(){<br />
Threadadd=newAddThread();<br />
Threaddec=newDecThread();<br />
add.start();<br />
dec.start();<br />
add.join();<br />
dec.join();<br />
System.out.println(Counter.count);<br />
}<br />
staticclassCounter{<br />
publicstaticintcount=0;<br />
}<br />
classAddThreadextendsThread{<br />
publicvoidrun(){<br />
for(inti=0;i&lt;10000;i++){Counter.count+=1;}<br />
}<br />
}<br />
classDecThreadextendsThread{<br />
publicvoidrun(){<br />
for(inti=0;i&lt;10000;i++){Counter.count-=1;}<br />
}<br />
}<br />
一个自增线程，一个自减线程，对0进行同样次数的操作，理应成果仍然为零，但是履行成果却每次都不同。<br />
通过查找之后发现对变量进行读取和写入时，成果要正确，有必要确保是原子操作。原子操作是指不能被中止的一个或一系列操作。<br />
例如，关于句子：n+=1;看似只要一行句子却包含了3条指令：<br />
读取n,n+1,存储n;<br />
比方有以下两个进程一起对10进行加1操作<br />
这阐明多线程模型下，要确保逻辑正确，对同享变量进行读写时，有必要确保一组指令以原子方式履行：即某一个线程履行时，其他线程有必要等候。<br />
staticclassCounter{<br />
publicstaticfinalObjectlock=newObject();//每个线程都需获得锁才干履行<br />
publicstaticintcount=0;<br />
}<br />
classAddThreadextendsThread{<br />
publicvoidrun(){<br />
for(inti=0;i&lt;10000;i++){<br />
synchronized(Counter.lock){staticclassCounter{<br />
publicstaticfinalObjectlock=newObject();<br />
publicstaticintcount=0;<br />
}<br />
classDecThreadextendsThread{<br />
publicvoidrun(){<br />
for(inti=0;i&lt;10000;i++){<br />
synchronized(Counter.lock){<br />
Counter.count-=1;<br />
}<br />
}<br />
}<br />
}<br />
值得注意的是每个类可以设置多个锁，假如线程获取的不是同一个锁则无法起到上述功用；<br />
springBoot中也定义了很多类型的锁，在此就不逐个阐明晰，咱们目前能做到的就是注意项目中的异步操作，调查操作所运用的线程，做到在今后项目中遇到此类问题时能及时发现问题，解决问题。</p>


		
										                                </div>
                            </div>
                                                        <div class="wzbq wow slideUp mg-bt30">
                                <span>文章标签：</span>
                                <div class="bqnr">
                                                                                                                                                                                                                                                             <a href="https://www.ciya.cn/tags/gzwzzzgs/">广州网站制作公司</a>
                                                                                                                                                                                                                    </div>
                            </div>
                                                        <div class="xwxq-bot bgf1 wow slideUp">
                                <div class="xwxq-fy clear">
                                    <a class="fl" href="/article/3526.html"><i></i>微信小程序在哪里(小程序开发公司十大排名)</a>
                                    <a class="fr" href="/article/3524.html"><i></i>java框架都有哪些(java不常用的框架)</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>

