java 线程 原子化 要点

要点

Thread.sleep()这个静态方法可以强制线程进入等待状态到过了设定时间

为止,例如Thread.sleep(2000)会睡上2秒。

可以调用sleep()让所有的线程都有机会运行。

sleep()方法可能会抛出InternuptedException异常,所以要包在try/catch

块,或者把它声明出来。

你可以用setName()方法来帮线程命名,通常是用来除错的。

如果两个或以上的线程存取堆上相同的对象可能会出现严重的问题。

如果两个或以上的线程存取相同的对象肯能会引起数据的损坏。

要让对象在线程上有做够的安全性,就要判断哪些指令不能被分隔执行。

使用synchronized这个关键词修饰符可以防止两个线程同时进入同一个对象

的同一方法。

每个对象都有单一的锁,单一的钥匙。这是会在对象带有同步化方法时才有

实际的用途。

线程尝试要进入同步化过的方法时必须要取得对象的钥匙,如果因为已经被

别的线程拿走了,那就得等。

对象就算是多个同步化过的方法,也还是只有一个锁。一旦某个线程进入该

对象的同步化方法,其他线程就无法进入该对象的任何同步化线程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值