java中的进程和线程

来源:互联网 发布:淘宝店铺手机号 编辑:程序博客网 时间:2024/06/05 14:23
先说程序,所谓程序,是指一段静态代码,它是应用程序执行的脚本,程序的执行过程严格按照这个脚本执行,程序的每一次执行对应一个 进程,这是系统进行资源分配和调度的一个独立单位,进程可以并发,这是它的重要特点。一般的,进程可以分为运行、阻塞、就绪三种状态,并随一定条件进行转换,运行一个程序时,就启动了一个进程,显然程序是静态的,进程是动态的。目前流行的OS上,大部分都支持多任务,也就是多进程的概念,即一个任务就是一个进程,例如:在一台PC上运行字处理程序的同时,又运行JDK,系统就会产生相应的两个进程。
线程是进程执行过程中产生的多条执行线索,是比进程单位更小的执行单位,在形式上同进程十分的相似——都是用 一个顺序执行的语句序列来完成特定的功能。不同的是它没有入口,也没有出口,因此其自身不能自动运行,而必须栖身于某一个进程之中,由进程触发执行 ,在系统资源的使用上,属于同一个进程的所有线程共享该进程的所有系统资源,而且在县城之间切换的速度要比进程切换的快的多。线程可以看做轻量级的进程。
Java中有两种创建线程的方法
1,继承Thread类,并重写run()方法。
public class thread {
public static void main(String[] args) {
Left left =new Left();
left.start();
}
}
 class Left extends Thread{
public void run(){
for(int i=0;i<=5;i++)
{
System.out.println("Hello");
try{
sleep(500);
}catch(InterruptedException e)
{
}
}
}
}
2、实现Runnable接口。一般第二类更常用。ps:继承Thread类来创建线程的方法有局限性,因为Java不支持多重继承,所以如果一个类需要继承其他类,就不能继承Thread类,因此必须实现Runnable接口的方式来创建多线程。
public static void main(String[] args) {
// TODO Auto-generated method stub
 
// Left left =new Left();
// left.start();
Myclass mc1=new Myclass();
Thread t1=new Thread(mc1);
t1.start();
}
}
 
class Myclass implements Runnable{
public void run()
{
}
0 0
原创粉丝点击