关于java多线程同步锁

classtestimplementsRunnable{intticket=1;testg=newtest();publicvoidrun(){synchronized(... class test implements Runnable
{
int ticket=1;
test g=new test();
public void run()
{
synchronized(g)
{
while(true)
{

System.out.println("你购买的票是"+ticket+++"号");
if(ticket==10)
break;
}
}
}
}
public class gp17
{
public static void main(String args[])
{
Test t=new Test();
Thread s1=new Thread(t);
Thread s2=new Thread(t);
Thread s3=new Thread(t);
Thread s4=new Thread(t);
s1.start();
s2.start();
s3.start();
s4.start();
}
}
我的同步锁设置错了,提示,我的锁对象是g,我想问问为什么不可以啊??
展开
 我来答
生活he家
2015-07-06 · 一个属于大家的搬运工
生活he家
采纳数:1536 获赞数:6828

向TA提问 私信TA
展开全部
你的g是自己new的 你应该锁this
更多追问追答
追问
详细一点呗 这块有点迷糊,new也可以啊,不是说同一个对象就行么?
追答
你的是同一个对象吗? 你那只是同一个类  
你这个项目中t 做了多线程操作 t这个对象中又包含了g
你实际操作的是t 不是g
大雅新科技有限公司
2024-11-19 广告
这方面更多更全面的信息其实可以找下大雅新。深圳市大雅新科技有限公司从事KVM延长器,DVI延长器,USB延长器,键盘鼠标延长器,双绞线视频传输器,VGA视频双绞线传输器,VGA延长器,VGA视频延长器,DVI KVM 切换器等,优质供应商,... 点击进入详情页
本回答由大雅新科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式