Which two CANNOT directly cause a thread to stop executing? (Choose Two)
A. Existing from a synchronized block.
B. Calling the wait method on an object.
C. Calling notify method on an object.
D. Calling read method on an InputStream object.
E. Calling the SetPriority method on a Thread object.
解答:AC
这里面的a、b、c可以理解,但是d、e不能理解,哪位大神路过给看看。
这是去外企面试么
做个面试题,就要去外企吗?
D中调用read方法后,当前线程等待IO操作完成,进行阻塞状态,所以会停止运行。
E中 我觉得它并不会让线程停止运行,设置线程优先级,并不会会使当前线程让出cpu
D:执行IO操作的读操作。读的过程中会阻塞当前线程,但是不是停止线程,当读结束后线程会进入可运行状态等待CPU资源。
E:当前线程对象执行设置属性方法。显然不会造成线程停止。
阻塞型 I/O,主要阻塞在两个地方:
第一:在调用InutStream.read 方法是阻塞的,它会一直等到数据到来时(或超时)才会返回;第二:在调用ServerSocket.accept()方法时,也会一直阻塞到有客户端连接才会返回;