编程语言:java 多线程守护线程

    作者:hongxiao2020更新于: 2020-04-09 22:22:31

    大神带你学编程,欢迎选课

      线程(英语:thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在UnixSystemV及SunOS中也被称为轻量进程(lightweightprocesses),但轻量进程更多指内核线程(kernelthread),而把用户线程(userthread)称为线程。

      线程是独立调度和分派的基本单位。线程可以为操作系统内核调度的内核线程,如Win32线程;由用户进程自行调度的用户线程,如Linux平台的POSIXThread;或者由内核与用户进程,如Windows7的线程,进行混合调度。

      java多线程守护线程

      将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,java虚拟机退出。

      必须在启动线程前调用。

      classStopThreadimplementsRunnable{

      privatebooleanflag=true;

      @Override

      publicvoidrun(){

      while(flag){

      System.out.println(Thread.currentThread().getName()+"...run");

      }

      }

      publicvoidchangeFlag(){

      flag=false;

      }

      }

      publicclassStopThreadDemo{

      publicstaticvoidmain(String[]args){

      StopThreadst=newStopThread();

      Threadt1=newThread(st);

      Threadt2=newThread(st);

      t1.setDaemon(true);

      t2.setDaemon(true);

      t1.start();

      t2.start();

      intnum=0;

      while(true){

      if(num++==60){

      //st.changeFlag();

      //t1.interrupt();

      //t2.interrupt();

      break;

      }

      System.out.println(Thread.currentThread().getName()+"......"+num);

      }

      System.out.println("over");

      }

      }

      同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(callstack),自己的寄存器环境(registercontext),自己的线程本地存储(thread-localstorage)。

      一个进程可以有很多线程,每条线程并行执行不同的任务。

课课家教育

未登录