您的位置:首页 > 编程语言 > Java开发

关于java方法多线程访问自己的理解

2009-08-13 10:42 681 查看
方法体应该是随着类创建的,因此应该在代码区

因此线程对象访问这个方法体的时候,每一个线程对象都是一个cpu 都会纪录当前执行到那里,例如两个线程对象执行下列行数

public void runA()

{

for(int i=0;i<100;i++)

{

system.out.println(i.tostring());

}

}

线程对象A,B 同时进行运行,A执行到 int i=0 并不会影响到B 执行 int i=0 也就是说 A执行过了 i++,并不会让 B的i 变成1;因为他们都有程序运行时候的标记,记录上一次运行时候的变量状态,不会混乱。

但是对于公共变量例如 有一个类的全局变量

public static int count;

public void runA()

{

for(int i=0;i<100;i++)

{

count++;

system.out.println(i.tostring());

}

}

这里 count 就需要进行线程同步,因为这个变量是全局的 谁都可以去更改,如果想不影响到自己,那么就要索住它。

分析线程是否需要同步,就要看是否有多个线程会访问到公共资源。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: