59java 多线程常用操作方法(线程命名和取得)

47 阅读2分钟

多线程常用操作方法(线程命名和取得)

一·线程的简介

多线程的主要的操作方法都在Thread类里面。所谓的方法,就是一个查询文档的过程。

由于现在的开发当中,很少会直接出现。

多线程的代码所以对于此部分,需要重点掌握核心的几个方法。

二、线程的命名和取得

多线程的运行状态是不确定的。

所以对于多线程的操作,必须有一个明确标实出线程对象的信息,而这个信息就往往使用名称来描述。

那么在thread类里面提供有就如下的线程的名称操作方法:

NO·方法名称类型描述
01PublicThread(Runnabletarget,String name)构造创建线程对象的时候设置好名字
02Public final void setName(Sring name)普通设置线程名字
03Public final Sring getName()普通取得线程名字

 

但是如果要想取得线程的对象,在thread类里面提供有一个方法:

 

  • 取得当前线程对象:

Public static Thread currentThread()

三·范例:观察线程名称的取得

pubilc void run()  {

for (int x=0;x<10;x  ++)  {

System.out.println(Thread.currentThread()

}

}

}

 

public class TestDemo  {

public static void main(string[] args)throws E

MyThread mt=new MyThread();

new Thread(mt)start();//没有设置名字

new Thread(mt)start();//没有设置名字

new Thread(mt,"有名线程")start();//有设置名子

}

}

 

没有设置线程名字,则会自动分配一个线程的名字,但是需要注意的是,线程名字如果要是请避免重复。中间不要修改名字。

 

四、范例:观察线程的执行结果

class MyThread implements Runnable {

@Override

public void run(){

System.out.println(Thread.currentThread().getName());

      }

}

public class TestDemo {

public static void main(string[] args)throws Exception {

MyThread mt=newMyThread();

mt.run();//直接通过对象调用run()方法

new Thread(mt)start();//通过线程调用

}

}

实际上以上程序可以发现主方法本身就是一个线程,所有的线程都是通过主线程创建并启动的。

 

五·疑问:进程在哪里?

实际上每当使用了jave命令句也是程序的时候。

都表示启动了一个新的GVM进程而主方法只是这个进程上的一个线程而已。