Bha*_*rma 7 java multithreading threadpool
我想知道Thread如何以及何时在可运行状态和运行状态之间来回移动.幕后实际发生了什么.我想在ThreadPool的情况下需要这个但是我无法完全理解.请帮助我明白这一点.
如果线程处于运行状态,这意味着它正在执行run()方法,并且当它在runnable方法中执行start()方法....所以我想从运行到runnable意味着它从run()返回到start()
在大多数操作系统的命名法中,"运行"意味着线程实际上正在某些CPU上执行指令,而"runnable"意味着除了要运行的CPU的可用性之外,没有什么能阻止线程"运行".
Java程序无法区分这两种状态.该线程表明Java知道的是NEW,RUNNABLE,BLOCKED,WAITING,TIMED_WAITING和TERMINATED.
t.start()调用之前线程是NEW,之后它永远不会返回NEW.WAITING和TIMED_WAITING都意味着线程正在等待notify()某个其他线程中的调用.BLOCKED表示它正在等待其他任何事情(例如,进入一个synchronized区块),而TERMINATED意味着它已经完成.
| 归档时间: |
|
| 查看次数: |
4475 次 |
| 最近记录: |