线程方法( yield(),sleep,setDaemon(true) )

本文介绍了一个简单的Java线程控制示例,展示了如何通过标志位控制线程的运行与停止,同时涉及线程的基本属性如优先级和后台线程的设置。
package ThreadWork.MyThread.lianxi;

class Demolian extends Thread{
    int i=1;
//    Demolian(){
//        setDaemon(true);
//    }
    private boolean flag=true;
    @Override
    public void run() {
       while (flag){
           System.out.println("wu:"+i++);
           /**
           //static void yield()
//           暂停当前正在执行的线程对象,并执行其他线程。
//           yield();
            */

           /**sleep(long millis, int nanos)
            在指定的毫秒数加指定的纳秒数内让当前正在执行的线程休眠(暂停执行),
            */
//           try {
//               sleep(200000000);
//           }catch (InterruptedException e) {
//               System.out.println("线程被唤醒了");
//           }
       }
    }
    public void finish(){
        flag=false;
    }
}
public class Demo1 {
    public static void main(String[] args) throws InterruptedException {
        /**
         * 线程优先级 1-10
         * 主线程优先级默认为5,在主线程启动的线程优先级夜也为5
         * (在哪个线程里面启动,子线程会跟哪个线程的优先级一致)
         *
         * */

        /**
         *  后台线程-当所有的线程都结束时,后台线程也会跟着结束
         *      t.setDaemon(true);    设置为后台进程
         *  后台线程设置必须在线程启动之前,所以一般在构造器里面设置
         * */
        Thread main = Thread.currentThread();//返回当前线程对象
        Demolian t = new Demolian();
//        System.out.println(t.getPriority());  //返回线程优先级
//        t.setPriority(10);   //设置线程优先级
//        main.setPriority(1);
        //线程启动后自动调用run方法

//        t.setDaemon(true);
        t.start();
       int i=1;
//       while (true){
//           System.out.println("jin"+i++);
           Thread.sleep(100);
//           t.interrupt();//中断休眠中的线程,抛出异常
        t.finish();
        System.out.println("gun");
//       }

    }
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值