java和c#的锁
要在Java中获得某一变量的锁,必须在代码的首尾二端加上synchronized关健字,指明需要获得锁的对象。一旦线程开始执行synchronized块中的代码,它就获得了对这一对象的锁的控制权。同样,一旦线程已经离开了synchronized块,它也将释放这一对象的锁。我们已经知道,C#也有一个相似的被称作lock的关健字。除了lock这个关健字外,C#还提供了内置的获得和释放锁的方法:
相关文档:
开发的时候有时候会碰到这样的情况,我们在写程序的时候并不知道需要调用某个对象的哪个方法,只有程序运行后,我们才能够知道。或许我们需要根据客户端传过来的某个String参数的值来判断我们应该执行哪个方法。在这种情况下JAVA的反射执行就可以帮上忙了。下面是我做的一个简单的测试代码,提供给大家做个参考。
i ......
觉得留言很有道理,文章很哲理,一并转载 建议读者看原文地址
作者: 阮一峰
日期: 2008年12月 7日
下面的文章是More Joel on Software一书的第8篇。
我觉得翻译难度很大,整整两个工作日,每天8小时以上,才译出了5000字。除了Joel大量使用俚语,另一个原因是原文涉及"编程原理",好多东西我根本不懂。希 ......
1. Multiply-Thread
Locks offer two primary features: mutual exclusion and visibility. Mutual exclusion means only one thread at a time may hold a given lock, so only one thread at a time will be using the shared data. Visibility is to ensure that changes made to shared data prior to releasing a lo ......
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。我以前很喜欢Serv-U,自从它用Java重写之后我就再也没用过,实在是太慢了,我宁可用IIS搭建FTP,虽然IIS搭建FTP在权限管理上很不灵活。
我有个同学,他是搞Java的,他给我说&ld ......
public static boolean isCheckN(String pInput) {
String regEx = "^[0-9]+$";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(pInput);
......