Java线程相关知识介绍
进程就是一个运行的过程,当比如一个app就可以是一个进程
线程就是进程的最小存储单元,一个进程由很多线程组成
举个例子:一个进程可以比喻成一个班级,一个班级里的每一个人可以是一个线程,一个班级里的人共享桌椅,书籍等资源
就相当于线程共享内存
线程常用的方法:
下面是一个简单的两个线程实现的代码
通过Thread和Runable接口来实现
public class Actor extends Thread {
public void run(){
System.out.println(getName()+" :我是一个演员");
int count = 0;
System.out.println(getName()+" :我开始表演了");
boolean keepruning= true;
while(keepruning){
System.out.println(getName()+"我一直在表演"+(++count));
if(count == 100)
{
keepruning= false;
}
if(count%10==0){
try{
Thread.sleep(1000);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
System.out.println(getName()+" :mydispaly is over");
}
public static void main(String[] args){
Thread actor = new Actor();
actor.setName("Mr Thread");
actor.start();
Thread actoressThread = new Thread(new Actoress(),"Mrs runnble" );//因为Actoress不是继承Thread
actoressThread.start();
}
}
class Actoress implements Runnable {
public void run() {
// TODO Auto-generated method stub
System.out.println(Thread.currentThread().getName()+"我叫MRs runnablle");
int count = 0;
System.out.println(Thread.currentThread().getName()+" :我开始表演了");
boolean keepruning= true;
while(keepruning){
System.out.println(Thread.currentThread().getName()+"我一直在表演"+(++count));
if(count == 100)
{
keepruning= false;
}
if(count%10==0){
try{
Thread.sleep(4000);
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
System.out.println(Thread.currentThread().getName()+" :mydispaly is over");
}
}