线程安全的重要思想就是,多线程并发不出问题。
什么时候多线程并发会出问题,存在临界资源,也就是有状态的公共资源。如果这些公共资源的访问是线程互斥的,就是线程安全的,如果不是,就是线程不安全的。
例如:
Class A{
int temp;
public void setTemp(int i){
temp =i;
}
public int getTemp(){
return temp;
}
temp还不算是类A的实例的有状态的公共资源,什么情况下是呢?如果多个线程访问一个类A的实例,所有类A内的存取temp的方法必须是synchronized才是线程安全的 ...
- 00:49
- 浏览 (427)
- 评论 (0)
这个问题的关键在于,AbstractTransactionalDataSourceSpringContextTests缺乏对hibernate session的处理,需要对其进行扩展,
不知道测试代码是怎么写的,只是很奇怪没有session支持,测试怎么跑的起来。
扩展基本思路是在事务开始后,结束前把测试方法包装在
HibernateTemaplate.executeWithSession(...){
public Object doInHibernate(Session session) {
runTest();
session.flush();//synchornize database ...
- 00:46
- 浏览 (642)
- 评论 (0)
参见
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="lobHandler">
<ref bean="oracleLobHandle" />
</property>
<bean id="nativeJdbcExtractor"
class="org.springfra ...
- 00:44
- 浏览 (1759)
- 评论 (2)
TDD是先确认问题的边界,确认需要解决的问题,明确问题如何算被解决,然后再进行设计具体解决问题。
似乎很多时候明确问题边界是和解决具体问题难以具体划清的,所以有了重构这一过程让整个过程重复迭代下去。首先确定一些基本问题,明确问题如何算被解决,具体设计解决,再深入提出问题...。
这里确实有一个系统思考的要求,先解决哪些问题,再解决哪些问题,前后问题之间具有关联性,相互影响,这可以被认为是一种总体设计。
算法是解决一些通用问题的方法。当TDD遇到算法的时候,就有一个这样的问题,如何去定义问题。不同的人对同一的问题有不同的看法,会有不同的问题拆分,TDD整个迭代过程也会截然不同,产生的结果也会不 ...
- 15:40
- 浏览 (490)
- 评论 (0)
- 浏览: 77008 次
- 性别:

- 来自: BJ

- 详细资料
搜索本博客
最新评论
-
代码生成工具
晕,肯定要多用撒,省下时间
-- by xfan1982 -
eclipse开发提高coding ...
我估计评新手贴的楼主说的1/3 都没记住
-- by ddbird -
转载:做天难做二月天、做 ...
我觉得周这个人其实没有多难,其实很多的中国老百姓比他要难多了,好多人饿死了,冻死 ...
-- by wangpx -
应用的集群部署
你好: 想请教一下在GLASSFISH或APPSERVER中如何将数据库 ...
-- by yunseu -
作技术?作业务?
如果是面向软件服务,就是行业性软件公司。 大部分公司都是这样的,靠卖人、卖方案、 ...
-- by Godlikeme






评论排行榜