扫码关注公众号
怎么检测一个线程是否持有对象监视器
Thread类提供了一个holdsLock(Objectobj)方法,当且仅当对象obj的监视器被某条线程持有的时候才会返回true,注意这
进程与线程的关系以及区别?
关系一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程
线程都有哪些状态,怎么转换的(阿里面试题)
线程:进程就好比工厂的车间,它代表CPU所能处理的单个任务。任一时刻,CPU总是运行一个进程,其他进程处于非运行状态。一个车间里,可以有很多工人。他们协同完成一个任务。线程就好比车间里的工人。一个进程可以包括多个线程。车间的空间是工人们共享的,比如许多房间是每个工人都可以进出的。这象征一个进程的内存空间是共享的,每个线程都可以使用这些共享内存。可是,每间房间的大小不同,有些房间最多只能容纳一个人,比如厕所。里面有人的时候,其他人就不能进去了。这代表一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。一个防止他人进入的简单方法,就是门口加一把锁。先到的人锁上门,后到的人看到上锁,就在门口排队,等锁打开再进去。这就叫"互斥锁"(Mutualexclusion,缩写Mutex),防止多个线程同时读写某一块内存区域。
线程A SendMessage给线程B,线程B处理该消息时又SendMessage给线程A,会出现( )
正确答案是B所谓死锁:是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于AB线程之间并没有资源竞争,所以不形成死锁。因为AB线程之间也没有依赖关系,所以会继续执行