`
davidxiaozhi
  • 浏览: 236838 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

线程心得

阅读更多

isActive检查一个线程是不是互动状态,不活动状态有三个情况,执行结束,其他线程正在执行、阻塞

 

线程的名字 其实只是用来查看或者toString输出的,操作系统并不使用这个名字,

 

获得当前线程的途径currentThread() 获得全部活动的线程enumerate();

 

一个线程对象实例只能启动一次,不能被再次重新启动。

 

锁是加在对象上面的,多个对象是不共享锁的,同一个对象里的同步方法是共享锁的。

如果在访问其中一个同步方法时,其他线程也不能访问该对象方法的另外一个同步方法,

因为锁是共享的。

 

java虚拟机规范,除了long和double以外,所有变量赋值都是原子性的

 

加载静态方法上的锁其实对象class对象上的锁,每一个类都有一个class对象来对应。

 

当锁释放后,所有的线程都由等待状态变成于可运行状态,当这并不表示一定会发生线程调度(在所有线程优先级一样的前提下),因

 

此这些由等待状态变成于可运行状态的线程没有成为当前运行线程(锁饥饿),而释放锁得当前线程仍然是当前运行线程。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics