剑指Offer(线程)——yield
关于Yield,我们可以先提一句这个关键字的概念
先来到源代码:
当使用了yield之后,代表当前线程愿意让出CPU的使用权,但是线程调度器通常会忽略这个暗示。
也是写一个Demo看一下:
这是一个比较正常的情况,我们首先运行出线程A,当i=5的时候,理应转让线程使用CPU的权限,让给B,然后B也是到i=5的时候,再转让给A,然后A执行5次,运行完成,再轮到B执行。
但是也会有抽风的情况
这就是资源调度器忽略了yield的暗示。
关于Yield,我们可以先提一句这个关键字的概念
先来到源代码:
当使用了yield之后,代表当前线程愿意让出CPU的使用权,但是线程调度器通常会忽略这个暗示。
也是写一个Demo看一下:
这是一个比较正常的情况,我们首先运行出线程A,当i=5的时候,理应转让线程使用CPU的权限,让给B,然后B也是到i=5的时候,再转让给A,然后A执行5次,运行完成,再轮到B执行。
但是也会有抽风的情况
这就是资源调度器忽略了yield的暗示。