引言: 在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。 可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。 Volatile的官方定义 Jav ...
分类:
编程语言 时间:
2017-03-03 11:47:17
阅读次数:
226
Lock Convoy(锁封护) [1]Lock Convoy是在多线程并发环境下由于锁的使用而引起的性能退化问题。当多个相同优先级的线程频繁地争抢同一个锁时可能会引起lock convoy问题,一般而言,lock convoy并不会像deadlock或livelock那样造成应用逻辑停止不前,相反 ...
分类:
编程语言 时间:
2017-02-26 15:10:07
阅读次数:
208
sed做为linux下的三剑客,自然功能强大,但是如果使用不当,反而适得其反,今天就因为这个命令采了很深坑,分析一下原因,以谏后来者。 情景回顾: 项目中使用的一个python爬虫采用的是多线程并发爬取,输入为一个存放url的文件,因为程序随时可能停止,所以每次重启程序的时候需要将以爬取过的url去 ...
分类:
其他好文 时间:
2017-02-23 00:52:41
阅读次数:
172
浅谈java内存模型 不同的平台,内存模型是不一样的,但是jvm的内存模型规范是统一的。其实java的多线程并发问题最终都会反映在java的内存模型上,所谓线程安全无非是要控制多个线程对某个资源的有序访问或修改。总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存 ...
分类:
编程语言 时间:
2017-02-15 22:30:25
阅读次数:
276
24.01_多线程(多线程的引入)(了解) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘蛛同时共享屏幕给多个电脑 迅雷开启多条线程一起下载 QQ同时和多个人一起视频 服务器同时处理多个客户 ...
分类:
其他好文 时间:
2017-02-10 16:27:36
阅读次数:
173
一年来从接受APP后端工作到现在可谓一路艰辛,中间踏过无数坑坑洼洼,也从中学到很多很多,之前领导也多次提醒,平时多总结、把经验形成系统,但平时大部分时间一直在忙于开发、处理问题,天天马不停蹄的往前走。...
分类:
移动开发 时间:
2017-01-22 12:41:35
阅读次数:
3214
一、Exectuor框架简介 Java从1.5版本开始,为简化多线程并发编程,引入全新的并发编程包:java.util.concurrent及其并发编程框架(Executor框架)。 Executor框架是指java 5中引入的一系列并发库中与executor相关的一些功能类,其中包括线程池,Exe ...
分类:
编程语言 时间:
2017-01-20 20:44:48
阅读次数:
274
线程不安全的问题分析: 当多线程并发访问同一个资源对象的时候,可能出现线程不安全的问题。 要解决上述多线程并发访问同一个资源的安全性问题 解决方案:A线程进入操作的时候,B和C线程只能在外等着,A操作结束,A和B和C才有机会进入代码去执行 方式1:同步代码块 语法: synchronized(同步锁 ...
分类:
编程语言 时间:
2017-01-19 18:00:57
阅读次数:
150
future可以实现多线程并发,使用起来简单,但是效果很好,直接看代码吧 结果如下: f1、f2、f3同时启动,说明实现了多线程并发 ...
分类:
其他好文 时间:
2017-01-19 00:54:20
阅读次数:
186
版权声明:本文为【viclee】原创,如需转载请注明出处~ Java中单例(Singleton)模式是一种广泛使用的设计模式。单例模式的主要作用是保证在Java程序中,某个类只有一个实例存在。一些管理器和控制器常被设计成单例模式。 单例模式有很多好处,它能够避免实例对象的重复创建,不仅可以减少每次创 ...
分类:
编程语言 时间:
2017-01-10 13:37:40
阅读次数:
403