在做界面程序时,常常需要一些数据类,界面元素通过绑定等方式显示出数据,然而由于UI线程不是线程安全的,一般都需要通过Invoke等方式来调用界面控件。但对于数据绑定bindingList而言,没法响应listchang事件,导致后端的grid等控件不能更新数据。废了好大的劲终于找到一个UIBindi...
分类:
编程语言 时间:
2014-08-17 16:51:32
阅读次数:
432
最近工作中看见一个同事的代码是关于ArrayBlockingQueue方面的使用,然后引出take()和poll()的小小的区别,当然他实现方式是没有错.但是由于选择不当有性能的开销,所以我想这里整理一下关于ArrayBlockingQueue
的理解,纯技术交流.有不正确的地方请谅解.下面对源码做一个导读.首先
ArrayBlockingQueue是一个基于数组、先进先出、线程安全的集合类...
分类:
其他好文 时间:
2014-08-17 13:08:12
阅读次数:
770
这是一个linux常见命令的列表。 那些有? 标记的条目,你可以直接拷贝到终端上而不需要任何修改,因此你最好开一个终端边读边剪切&拷贝。 所有的命令已在Fedora和Ubuntu下做了测试命令描述?apropos whatis显示和word相关的命令。 参见线程安全...
分类:
系统相关 时间:
2014-08-16 23:37:41
阅读次数:
622
看到好多项目中用到了openSessionInView,这样的做法无非是开发方便,可以在JSP页面中操作数据库层方面的业务。下边说下openSessionInView的用法及性能问题。
使用:
1、增加一个Filter,该Filter用来控制事务及数据库的连接管理,代码如下:
SessionFactory sessionFactory = lookupSessionFacto...
分类:
其他好文 时间:
2014-08-15 18:02:59
阅读次数:
188
Java中string拼接,StringBuilder,StringBuffer和+,到底哪个更合适? StringBuilder线程不安全,效率较线程安全的StringBuffer高。jdk1.5之前,+操作会产生大量String对象,影响GC的效率,但是jdk1.5之后做了优化,使用+操作符不一...
分类:
编程语言 时间:
2014-08-15 14:21:30
阅读次数:
196
由于生活和工作的原因,“寿星天文历”我一直没有动,长时间的丢弃后,当重新拾起时,比较费劲。编程就是这样,思维的火花只在当初的那一瞬,一旦熄灭,重新再点燃断掉的思维是很困难的。因为人的“忘记”能力,真的是挺强的,有时回顾或维护以前的代码时,常常会感叹道:这是我写的吗?够牛逼,看不懂!呵呵,这时候注释的作用的凸显出来了,尽管如此有时仅仅靠注释找以前的思路也是很困难。
跑题了,那么,首先对于等着“寿星天文历”封装整理版代码的各位,说声抱歉。这回整理的代码,修复了部分小bug和线程安全问题,同时整理的结构更易于理解...
分类:
编程语言 时间:
2014-08-14 16:42:58
阅读次数:
191
使用事件分配线程更新Swing控件:Swing并不是线程安全的,如果在多个线程中更新Swing控件,则很可能造成程序崩溃。 为了避免这种问题,可以使用时间分配线程来更新Swing控件。EventQueue 是一个与平台无关的类,它将来自于底层同位体类和受信任的应用程序类的事件列入队列。 它封装...
分类:
编程语言 时间:
2014-08-14 10:36:38
阅读次数:
281
上文简 单介绍了HttpClient和Tomcat服务器的交互,主角是HttpClient,然后它跟服务器交互有两种方式即get和post。所以这个 HttpClient就类似于电脑上用的浏览器。当我打开多个网页的时候,并不需要开一个网页就开一个浏览器,而是一个浏览器上面开了好几个网页。对应于 Ht...
分类:
移动开发 时间:
2014-08-13 21:43:37
阅读次数:
516
从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先从这里开始)。很多情况下我们只是需要一个简单的、高效的、线程安全的递增递减方案。注意,这里有三个条件:简单,意味着程序员尽可能少的操作底层或者实现起来要比较容易;高效意味着耗用资源要少,程序处理速度要快;线程安全也非常重要,这个在多线程下能保证数...
分类:
编程语言 时间:
2014-08-13 13:12:56
阅读次数:
429
来源:http://www.cnblogs.com/rainbowzc/archive/2010/09/29/1838788.html由于多线程可能导致对控件访问的不一致,导致出现问题。C#中默认是要线程安全的,即在访问控件时需要首先判断是否跨线程,如果是跨线程的直接访问,在运行时会抛出异常。解决办...
分类:
编程语言 时间:
2014-08-12 18:53:54
阅读次数:
276