Java
线程阻塞 标签描述

线程中断   本人理解为线程之间(也可以是线程自己跟自己)打招呼,让你停下来,但是具体的停不停自己说了算。线程可以有三个选择:一,让jvm把我停止吧(由jvm控制);二,做个收尾工作,之后return;三,我凭啥听你的,不停。   第一种做法:java中调用一个线程的interrupt()方法。这个方法只是给线程的中断标志位设置为true,具体何时来实施中断的动作是由jvm来控制。对于这个中断标志,如果线程不清除这个中断标志,最后是被jvm来停止这个线程。   下面看下第二种和第三种。   那这里就会提出问题,我...

1、没有同步机制介入时,线程随机并发运行; 2、sleep会阻塞线程,不知道会不会放弃处理机,但是有同步机制存在时不会(上机亲测过); 按书上P.510这段话,线程阻塞后是会放弃处理机的。 3、调用start时线程会不会马上获得处理机(而不理会同步机制)?上机亲测,有时能马上获得有时不能; 4、wait(longtimeout)会使线程暂停timeout时间,其间调用notify()或notifyAll()也不会唤醒(书上和文档都说这两个调用会唤醒线程,但亲测好像不是这回事);而对于wait()调用notify()或notifyAll()会随时唤醒线程;

线程一般有6种状态,它们分别是新建、运行、阻塞、无限期等待、有限期等待、以及结束。 新建,就是线程刚刚被创建,但是还没有调用start方法。 运行,其实有两种状态,分别是就绪和运行中。 阻塞,表示线程阻塞与锁。 无限期等待,表示线程进入等待状态,需要其它线程做出通知或者动作,才能跳出该状态。 有限期等待,超时等待状态,表示这个线程可以定时跳出该状态。 结束,表示当前线程已经执行完毕。