关闭

同步代码块synchronized (Object)

404人阅读 评论(0) 收藏 举报
package thread;


import org.omg.Messaging.SYNC_WITH_TRANSPORT;


class pub{
private static int x=100;
public int getX(){

return x;

}
public  int fix(int y)
{
x=x-y;

return y;


}
}
public class thread1 implements Runnable{
public pub td=new pub();
/**
* @param args
*/
private pub p=new pub();
public static void main(String[] args) {
// TODO Auto-generated method stub
pub p=new pub();
thread1 t=new thread1();
Thread t1=new Thread(t,"THread1");
Thread t2=new Thread(t,"THread2");
t1.start();

t2.start();

}


public void run(){
for(int i=0;i<3;++i)
{
synchronized (this) {
this.fix(30);
try{
Thread.sleep(1);
}catch(Exception e){
e.printStackTrace();

}
System.out.print(Thread.currentThread().getName()+":当前td对象的值="+td.getX()+"\n");
}

}
}
public int fix(int y)
{

return td.fix(y);


}


}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    Github
    https://github.com/laohanlinux?tab=repositories https://gitcafe.com/laohan/
    Announcement
    菜鸟一枚,muduo库的源码分析可能会出现错误,望指出!请支持原创--》http://blog.csdn.net/Solstice/article/category/779646
    个人资料
    • 访问:347098次
    • 积分:5772
    • 等级:
    • 排名:第4468名
    • 原创:224篇
    • 转载:86篇
    • 译文:7篇
    • 评论:25条
    最新评论