关于synchronized同步块的问题

xiaopengzi 2011-08-12 03:38:50
大家 好
我在mian中定义了一个变量
byte lock[]=new byte[0];

然后在我的线程中设置的同步块
synchronized(lock){

//处理块
}


但是我一运行到synchronized这儿就报nullpointerexception;
是在这儿的lock不能为空吗
...全文
159 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaopengzi 2011-08-13
  • 打赏
  • 举报
回复
嗯 ,知道 了, 谢谢各位
小笨熊 2011-08-12
  • 打赏
  • 举报
回复
lock数组的值为空吧,这样导致你的nullpointerexception;
meran 2011-08-12
  • 打赏
  • 举报
回复
尼玛 你把数组初始化行吧
luohuijun619 2011-08-12
  • 打赏
  • 举报
回复
给lock赋值试试
xiaopengzi 2011-08-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wula0010 的回复:]

要在你的线程里定义lock:
Java code

public class yourThread extends Thread
private static final byte[] lock = new byte[0];
public void run() {
......
synchronized(lock){

//处理块
}
......

}
[/Quote]

我的lock是在主线程里面定义的,这样不行吗
TKD03072010 2011-08-12
  • 打赏
  • 举报
回复
...路过
wula0010 2011-08-12
  • 打赏
  • 举报
回复
要在你的线程里定义lock:

public class yourThread extends Thread
private static final byte[] lock = new byte[0];
public void run() {
......
synchronized(lock){

//处理块
}
......

}
蛋黄车 2011-08-12
  • 打赏
  • 举报
回复
synchronized(lock) 同步块中括号里的参数类型可以为任意object对象及其子类。但是,最好不要让它是null
soli11722984 2011-08-12
  • 打赏
  • 举报
回复
沒看明白啥米意思

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧