拿手机怎样往百度发信息让全新版中国地图高清放大人都能看见

本帖子已过去太久远了,不再提供回复功能。  Java中synchronized用在静态方法和非静态方法上面的区别
  在Java中,synchronized是用来表示同步的,我们可以synchronized来修饰一个方法。也可以synchronized来修饰方法里面的一个语句块。那么,在static方法和非static方法前面加synchronized到底有什么不同呢?大家都知道,static的方法属于类方法,它属于这个Class(注意:这里的Class不是指Class的某个具体对象),那么static获取到的锁,是属于类的锁。而非static方法获取到的锁,是属于当前对象的锁。所以,他们之间不会产生互斥。
  看代码:
public class Demo {
public static synchronized void staticFunction()
throws InterruptedException {
for (int i = 0; i & 3; i++) {
Thread.sleep(1000);
System.out.println("Static function running...");
public synchronized void function() throws InterruptedException {
for (int i = 0; i &3; i++) {
Thread.sleep(1000);
System.out.println("function running...");
public static void main(String[] args) {
final Demo demo = new Demo();
Thread thread1 = new Thread(new Runnable() {
public void run() {
staticFunction();
} catch (InterruptedException e) {
e.printStackTrace();
Thread thread2 = new Thread(new Runnable() {
public void run() {
demo.function();
} catch (InterruptedException e) {
e.printStackTrace();
thread1.start();
thread2.start();
  运行结果是:
function running...
Static function running...
function running...
Static function running...
function running...
Static function running...
  那当我们想让所有这个类下面的方法都同步的时候,也就是让所有这个类下面的静态方法和非静态方法共用同一把锁的时候,我们如何办呢?此时我们可以使用Lock。
阅读(...) 评论()2008年10月 Java大版内专家分月排行榜第三
2008年10月 Java大版内专家分月排行榜第三
2008年10月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 新版中国地图高清放大 的文章

 

随机推荐