synchronized是Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。...
分类:
编程语言 时间:
2014-08-05 11:14:59
阅读次数:
310
1.Android的单线程模型 在android应用程序启动时,Android会同时启动一个对应的主线程Main Thread。主线程主要负责处理UI方面的事件,所以又称UI线程。Android应用程序必须遵守单线程模型原则:androidUI操作不是线程安全的,并且这些操作必须在UI线程中完成。....
分类:
移动开发 时间:
2014-08-04 01:42:56
阅读次数:
356
服务器编程中,日志系统需要满足几个条件 .高效,日志系统不应占用太多资源 .简洁,为了一个简单的日志功能引入大量第三方代码未必值得 .线程安全,服务器中各个线程都能同时写出日志 .轮替,服务器不出故障是不重启的,半年一年的日志放到一个文件会导致文件过大 .及时保存,程序故障导致异常退出,此时需要通过...
分类:
其他好文 时间:
2014-08-03 12:28:55
阅读次数:
454
今天学习Struts2的时候遇到“访问和添加属性”的问题...
分类:
其他好文 时间:
2014-08-02 23:31:28
阅读次数:
272
在Java中,用到最多的当属String类型的数据了
而这一点就要涉及String , StringBuffer , StringBuilder这三大类
下面主要来比较一下String和StringBuffer的区别,因为StringBuffer和StringBuilder
太相似,所以就不拿来比较了。
提及一下,StringBuffer和StringBuilder的区别
从安全...
分类:
编程语言 时间:
2014-08-02 15:40:53
阅读次数:
333
线程安全类:在线程安全类中封装了必要的同步机制,客户端无须进一步采取同步措施示例:一个无状态的Servlet1 @ThreadSafe2 public class StatelessFactorizer implements Servlet{3 public void service...
分类:
编程语言 时间:
2014-08-02 12:46:43
阅读次数:
231
在实际项目开发中,会涉及日志记录问题,比较常用的有Log4Net,NLog等几个,而小项目小工具的话,则无需费此大驾。而譬如串口开发的话,需要记录串口过来的数据等等,则需要考虑日志记录上线程的问题,为了方便后续使用,封装了下代码,如下:using System;using System.Diagno...
分类:
编程语言 时间:
2014-08-01 04:43:46
阅读次数:
445
在编码的过程中,有时候我们不得不借助锁同步来保证线程安全。synchronized关键字在上一篇博客中已经介绍;自从JDK5开始,添加了另一种锁机制:ReentrantLock。
二者的区别
1、lock是jdk5之后代码层面实现的,synchronized是JVM层面实现的。
2、synchronized在出现异常的时候能够自动释放锁,而lock必须在finally块中unlock()主动...
分类:
编程语言 时间:
2014-08-01 00:02:20
阅读次数:
319
(重点 面试官最最关心的一个问题,必须从cpu调度,上下文切换,数据共享,多核cup利用率,资源占用,等等各方面回答,然后有一个问题必须会被问到:哪些东西是一个线程私有的?答案中必须包含寄存器,否则悲催)
可重入:概念基本没有比较正式的完整解释,但是它比线程安全要求更严格。根据经验,所谓“重入”,常见的情况是,程序执行到某个函数foo()时,收到信号,于是暂停目前正在执行的函数,转到信号处理...
分类:
编程语言 时间:
2014-07-31 17:03:46
阅读次数:
242
结束语使用不变对象比使用可变对象要容易得多。它们只能处于一种状态,所以始终是一致的,它们本来就是线程安全的,可以被自由地共享。使用不变对象可以彻底消除许多容易发生但难以检测的编程错误,如无法在线程间同步访问或在存储对数组或对象的引用前无法克隆该数组或对象。在编写类时,问问自己这个类是否可以作为不变类...
分类:
其他好文 时间:
2014-07-31 02:41:25
阅读次数:
234