多线程的生命周期、让步方法、设置线程优先级

生命周期如图:

 让步方法就是当本线程拿到CPU的执行权,执行让步方法是,让出本次CPU的执行权:

package thread;

/**
 * @ClassName Test7
 * @Author 瞿肖
 * @Date 2022/7/11 14:32
 */
public class Test7 extends Thread {
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            Thread.yield();
            System.out.println(getName() + "\t" + i);
        }
    }

    public static void main(String[] args) {
        Test7 t = new Test7();
        Test7 t1 = new Test7();
        t.start();
        t1.start();
    }
}

加了这个方法后,他们的输出有时候会是交替轮流输出一小会:

Thread-1	0
Thread-0	0
Thread-1	1
Thread-0	1
Thread-1	2
Thread-0	2
Thread-1	3
Thread-0	3
Thread-1	4
Thread-0	4
Thread-1	5
Thread-0	5
Thread-1	6
Thread-0	6
Thread-1	7
Thread-1	8
Thread-0	7
Thread-1	9
Thread-0	8
Thread-1	10
Thread-0	9
Thread-1	11
Thread-0	10
Thread-1	12
Thread-0	11
Thread-1	13
Thread-0	12
Thread-1	14
Thread-1	15
Thread-0	13
Thread-1	16
Thread-0	14
Thread-1	17
Thread-0	15
Thread-1	18
Thread-0	16
Thread-1	19
Thread-0	17
Thread-1	20
Thread-0	18
Thread-1	21
Thread-0	19
Thread-1	22
Thread-0	20
Thread-1	23
Thread-0	21
Thread-1	24
Thread-0	22
Thread-1	25
Thread-0	23
Thread-1	26
Thread-0	24
Thread-1	27
Thread-1	28
Thread-1	29
Thread-1	30
Thread-1	31
Thread-1	32
Thread-1	33
Thread-1	34
Thread-0	25
Thread-1	35
Thread-1	36
Thread-1	37
Thread-1	38
Thread-1	39
Thread-1	40
Thread-1	41
Thread-1	42
Thread-1	43
Thread-1	44
Thread-1	45
Thread-0	26
Thread-1	46
Thread-0	27
Thread-1	47
Thread-0	28
Thread-1	48
Thread-0	29
Thread-1	49
Thread-0	30
Thread-1	50
Thread-0	31
Thread-1	51
Thread-0	32
Thread-1	52
Thread-1	53
Thread-1	54
Thread-1	55
Thread-1	56
Thread-1	57
Thread-1	58
Thread-1	59
Thread-1	60
Thread-1	61
Thread-1	62
Thread-1	63
Thread-1	64
Thread-1	65
Thread-1	66
Thread-1	67
Thread-1	68
Thread-1	69
Thread-0	33
Thread-1	70
Thread-0	34
Thread-1	71
Thread-0	35
Thread-1	72
Thread-0	36
Thread-1	73
Thread-0	37
Thread-1	74
Thread-1	75
Thread-1	76
Thread-1	77
Thread-1	78
Thread-0	38
Thread-1	79
Thread-0	39
Thread-1	80
Thread-1	81
Thread-1	82
Thread-1	83
Thread-0	40
Thread-1	84
Thread-0	41
Thread-1	85
Thread-1	86
Thread-0	42
Thread-1	87
Thread-0	43
Thread-1	88
Thread-0	44
Thread-1	89
Thread-0	45
Thread-1	90
Thread-0	46
Thread-1	91
Thread-0	47
Thread-1	92
Thread-0	48
Thread-1	93
Thread-0	49
Thread-1	94
Thread-0	50
Thread-1	95
Thread-0	51
Thread-1	96
Thread-0	52
Thread-1	97
Thread-0	53
Thread-1	98
Thread-0	54
Thread-1	99
Thread-0	55
Thread-0	56
Thread-0	57
Thread-0	58
Thread-0	59
Thread-0	60
Thread-0	61
Thread-0	62
Thread-0	63
Thread-0	64
Thread-0	65
Thread-0	66
Thread-0	67
Thread-0	68
Thread-0	69
Thread-0	70
Thread-0	71
Thread-0	72
Thread-0	73
Thread-0	74
Thread-0	75
Thread-0	76
Thread-0	77
Thread-0	78
Thread-0	79
Thread-0	80
Thread-0	81
Thread-0	82
Thread-0	83
Thread-0	84
Thread-0	85
Thread-0	86
Thread-0	87
Thread-0	88
Thread-0	89
Thread-0	90
Thread-0	91
Thread-0	92
Thread-0	93
Thread-0	94
Thread-0	95
Thread-0	96
Thread-0	97
Thread-0	98
Thread-0	99

进程已结束,退出代码0

还有就是设置线程的优先级:

优先级越高,获取到CPU的执行时间就越长、机会越大:

package thread;

/**
 * @ClassName Test7
 * @Author 瞿肖
 * @Date 2022/7/11 14:32
 */
public class Test7 extends Thread {
    @Override
    public void run() {
        for (int i = 0; i < 100; i++) {
            System.out.println(getName() + "\t" + i);
        }
    }

    public static void main(String[] args) {
        Test7 t = new Test7();
        Test7 t1 = new Test7();
        t.setPriority(1);
        t1.setPriority(10);
        t.start();
        t1.start();
    }
}

只有三个等级:

1-5-10,默认等级是5

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值