Java中线程的操作方法

对于线程来讲,所有的操作方法都是在Thread类中定义,想要明确理解线程的操作方法,应该从Thread类的方法着手。

1、设置和取得名字

设置名字:

    public final void setName(String name) {
        checkAccess();
        this.name = name.toCharArray();
    }

构造:

   public Thread(Runnable target, String name) {
        init(null, target, name, 0);
    }

   public Thread(String name) {
       
    }

取得名字:

    public final String getName() {
        return String.valueOf(name);
    }

获取当前线程:

public static native Thread currentThread();

在程序运行时主方法实际上是一个主线程,已知强调java是多线程的操作语言,每一次执行java命令对于操作系统来讲都将启动一个JVM的进程,那么主方法实际上只是这个进程上的进一步划分。在java执行中,一个java程序至少启动了main和gc线程。

2、程序的休眠

让程序小小的休息一下,之后起来继续工作,称之为休眠

  public static native void sleep(long millis) throws InterruptedException;

此方法需要进行异常处理。

3、程序的中断

在sleep()方法中存在InterruptException,那么会造成此异常的方法就是中断:

   public void interrupt() {
        if (this != Thread.currentThread())
            checkAccess();


        synchronized (blockerLock) {
            Interruptible b = blocker;
            if (b != null) {
                interrupt0();           // Just to set the interrupt flag
                b.interrupt(this);
                return;
            }
        }
        interrupt0();
    }

4、线程的优先级

在多线程的操作中,代码都是存在优先级的,优先级高的可能先执行,设置优先级的代码如下:

    public final void setPriority(int newPriority) {
        ThreadGroup g;
        checkAccess();
        if (newPriority > MAX_PRIORITY || newPriority < MIN_PRIORITY) {
            throw new IllegalArgumentException();
        }
        if((g = getThreadGroup()) != null) {
            if (newPriority > g.getMaxPriority()) {
                newPriority = g.getMaxPriority();
            }
            setPriority0(priority = newPriority);
        }
    }

对于优先级来说,在线程中有三种:

最高:MAX_PRIORITY

中等:NORM_PRIORITY

最低:MIN_PRIORITY


你可能感兴趣的:(java,多线程,线程)