时间:2015-03-09 来源:

java中的synchronized【编程语言】

1、synchronized为互斥.该关键词可以申明方法也可以申明代码库.

import java.util.concurrent.TimeUnit; public class SynchronizedDemo1 { public synchronized static void synchronizedDemo(){ try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("test1"); } public static void test1(){ Thread thread = new Thread(){ public void run() { synchronizedDemo(); } }; thread.start(); } public static void test2(){ Thread thread = new Thread(){ public void run() { synchronizedDemo(); } }; thread.start(); } public static void main(String[] args) { SynchronizedDemo1 sd = new SynchronizedDemo1(); sd.test1(); SynchronizedDemo1 sd1 = new SynchronizedDemo1(); sd1.test2(); } }

import java.util.concurrent.TimeUnit; public class SynchronizedDemo2 { public synchronized void synchronizedDemo(){ try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("test1"); } public void test1(){ Thread thread = new Thread(){ public void run() { synchronizedDemo(); } }; thread.start(); } public void test2(){ Thread thread = new Thread(){ public void run() { synchronizedDemo(); } }; thread.start(); } public static void main(String[] args) { SynchronizedDemo2 sd = new SynchronizedDemo2(); sd.test1(); SynchronizedDemo2 sd1 = new SynchronizedDemo2(); sd1.test2(); } } 3、将synchronized修饰在i代码块中.这里的效果和前面类似,只是将synchronized放在代码块中更加灵活.

该类中main为一个线程,符合w3c标准分别调用同一个方法.结果得到的互斥的效果,html切图必须要等待前一个方法执行完毕,jpg或psd转html才能执行后面的调用.经过测试,网页切图价格只要是不同的线程,手机前端外包都会起到互斥的效果

2、下面再看一个例子没有static来修饰的承接网页制作,这里同一对象多个线程都能启动互斥的效果,承接网页制作如果是不同的对象就不能起到互斥的效果.

public class SynchronizedDemo3 { public void synchronizedDemo(){ System.out.println("进入方法:1"); synchronized(this) { try { TimeUnit.SECONDS.sleep(2); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("等待后:2"); } System.out.println("结束后:3"); } public void test1(){ Thread thread = new Thread(){ public void run() { synchronizedDemo(); } }; thread.start(); } public void test2(){ Thread thread = new Thread(){ public void run() { synchronizedDemo(); } }; thread.start(); } public static void main(String[] args) { SynchronizedDemo3 sd = new SynchronizedDemo3(); sd.test1(); //SynchronizedDemo3 sd1 = new SynchronizedDemo3(); sd.test2(); } }<p>结果如下</p><p>进入方法:1</p><p>进入方法:1</p><p>等待后:2</p><p>结束后:3</p><p>等待后:2</p><p>结束后:3</p>

点击次数:2705
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日js事件之onmousedown和onmouseup 【编程语言】2015年07月23日#184Sum 【Web前端】2015年07月15日程序实践:定义具有成员函数的类 【编程语言】2015年01月09日Asp.Net(C#)自动执行计划任务的程序实例分析分享2014年01月29日Win2008远程控制确保安全的设置技巧2014年01月30日找回DreamHost主机账户密码图文教程2014年01月28日GitLab许可证从CLA切换到DCO ,,2017年11月02日JavaScript渐变效果页面图片控制2014年01月29日Windows2008AHCI功能开启方法(提升硬盘加速)2014年01月30日红帽企业版Linux新添SQLServer驱动 ,,2016年06月23日SQLServer中统计信息直方图中对于没有覆盖到谓词预估以及预估策略的变化(SQL2012-->SQL2014-->SQL2016)2017年04月26日uva471(dfs) 【移动开发】2015年04月24日JavaScript图片放大镜(可拖放、缩放效果)2014年01月29日CodeforcesRound#304(Div.2)C.SoldierandCardsstl应用【移动开发】2015年07月20日好的主题是至关重要如何确定网站主题2014年01月28日iOSAutoLayout自动布局中级开发教程(9)-VisualFormat可视化格式字符串构成 【移动开发】2015年02月11日PHP面向对象-单列模式【编程语言】2015年06月18日用MapReduce找共同朋友编程实现(Hadoop) 【编程语言】2015年05月27日辛星浅析跨域传输的CORS解决方案 【编程语言】2015年06月11日MedianofTwoSortedArrays2015年01月24日菜鸟学习Spring——SpringMVC注解版前台向后台传值的两种方式【移动开发】2015年01月24日《云计算架构技术与实践》连载23:2.4.8电信NFV云【移动开发】2014年12月29日hduThemore,TheBetter 【编程语言】2015年06月02日asp.net(c#)有关Session操作的几个误区2014年01月29日【LeetCode-面试算法经典-Java实现】【003-LongestSubstringWithoutRepeatingCharacters(最长非重复子字符串)】 【移动开发】2015年07月23日北大名师教你如何上大学,让你醍醐灌顶【移动开发】2014年12月16日Linuxfork后wait获取子进程结束的状态示例 【编程语言】2015年07月02日省级网站群建设关注点【互联网】2014年12月12日Android5.1Telephony流程分析——拨打电话流程(MOCALL) 【编程语言】2015年08月30日C语言C++相互调用问题 【移动开发】2015年07月30日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)