• Java进阶知识查漏补缺03


    java线程的一些方法:

    package com.cjf.Thread;
    
    /**
     * Created with IntelliJ IDEA.
     * Description:
     * Author: Everything
     * Date: 2020-07-01
     * Time: 12:26
     */
    
    //1. start(): 启动当前线程;调用当前线程的run()
    //2. run(): 通常需要重写Thread类中的此方法, 将创建的线程要执行的操作声明在此方法中
    //3. current Thread():静态方法,返回执行当前代码的线程
    //4. getName(): 获取当前线程的名字
    //5. setName():设置当前线程的名字
    //6.yield():释放当前CPU的执行权
    //7.join():在线程A中调用线程B的join方法,A阻塞
    //8.sleep(long):让当前线程休眠
    
    //线程的优先级
        //getPriority():获取线程的优先级
        //setPriority(int ):设置线程的优先级
    
    class HelloThread extends Thread{
        public void run() {
            for (int i = 0; i < 100; i++) {
                if (i%2==0){
                    try {
                        sleep(10);//阻塞一秒
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println(Thread.currentThread().getName()+":"+i+"优先级"+Thread.currentThread().getPriority());
                }
                if (i%20==0){
    //                Thread.yield();
                    //只是当前线程释放了CPU,但是有可能当前线程又重新抢到CPU
                }
            }
        }
    }
    
    public class ThreadMethodTest {
        public static void main(String[] args) {
            HelloThread h1 = new HelloThread();
            h1.setName("子线程");
            //设置分线程的优先级
            h1.setPriority(Thread.MAX_PRIORITY);
    
            h1.start();
    
    
    
            Thread.currentThread().setName("主线程");
            Thread.currentThread().setPriority(Thread.MIN_PRIORITY);
            for (int i = 0; i < 100; i++) {
                if (i % 2 == 0) {
                    System.out.println(Thread.currentThread().getName() + ":" + i+"优先级"+Thread.currentThread().getPriority());
                }
    
                if (i == 20) {
                    //当20时,让h1子线程调入执行,且必须执行完
                    try {
                        h1.join();
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
    
                }
            }
    
        }
    }
  • 相关阅读:
    抓包工具fiddler使用-初级
    nginx负载均衡配置详解
    nginx常用配置
    nginx介绍及常用功能
    算法分析实验之The Josephus Problem(约瑟夫问题)
    算法分析实验之Locker doors
    算法分析实验之花生采摘
    算法分析实验之俄式乘法
    算法分析实验之翻煎饼
    java(一)Hello World
  • 原文地址:https://www.cnblogs.com/cuijunfeng/p/13222398.html
Copyright © 2020-2023  润新知