AP计算机科学A(APcomputer science A)复习备考攻略视频教程
43756 人在学
线程(英语: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)。
一个进程可以有很多线程,每条线程并行执行不同的任务。