黑马程序员技术交流社区
标题:
一个线程的小问题?
[打印本页]
作者:
zoudeyong
时间:
2013-5-1 10:03
标题:
一个线程的小问题?
本帖最后由 zoudeyong 于 2013-5-1 23:52 编辑
一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
作者:
严露华
时间:
2013-5-1 12:40
楼主看以下代码
public class ThreadTest {
public static void main(String[] args) {
Test t = new Test();
Thread t1 = new Thread(t);
t1.start();
t.method();
}
}
class Test implements Runnable{
public synchronized void run(){
for(int i=0;i<1000;i++)
{
System.out.println("线程已锁正在运行:"+i);
}
}
public void method(){
for(int i=0;i<1000;i++)
{
System.out.println("----线程未锁正在运行-----"+i);
}
}
}
复制代码
当一个方法加锁后,另一个方法没有加锁,运行的时候,加锁的和没有加锁的会交替运行,也就是另一个线程也可以运行此对象其他方法。
作者:
孙胜
时间:
2013-5-1 13:01
是可以的,但是要注意对数据的保护
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2