java进程

来源:互联网 发布:电脑软件升级 编辑:程序博客网 时间:2024/06/04 19:31

13.1 进程的简单描述

* 进程:分配资源最小的单位

* 线程:“同时”去做几件事情

* 进程与线程:

* 一个程序一个进程;

* 一个进程最少有一个线程

* 并行与并发:cpu-单核、双核、四核、八核

* 并行:真正的"同时"

* 并发:不是真正的"同时"

* 控制不了并行,一般只说并发:并发量

* 系统:实时-分时-时间轮

* 线程的实现方式 1.继承Thread 2.实现 Runnable接口

* 线程的状态state:就绪- <运行-阻塞> - 死亡

13.2 线程的生命周期,视图如下:


13.3 线程的实现方法,继承Thread,和实现Runnable举例:

第一种方式:继承Thread的实现,代码如下:

package com.eduask.thread.base;


public class TestExtendsThread {

public static void main(String[] args) {

MyThread myThread=new MyThread();

//线程的启动;

myThread.start();

}

}

//创建一个MyThread继承Thread;

class MyThread extends Thread{

//添加运行方法;

@Override

public void run() {

System.out.println("继承Thread实现");

}

}


运行结果如图所示:



13.4 线程的第二个实现方式:实现Runnable接口,代码如下:

package com.eduask.thread.base;


public class TestRunnable {

public static void main(String[] args) {

// 创建类的对象;

MyRunnable myRunnable = new MyRunnable();

// 将类添加到线程中去;

Thread thread = new Thread(myRunnable);

// 线程的启动;

thread.start();

}

}


// 创建一个MyRunnable实现Runnable接口;

class MyRunnable implements Runnable {


@Override

public void run() {

System.out.println("Runnable实现线程");

}


}

程序运行如下:


13.5 线程的优先级

字段摘要static intMAX_PRIORITY
线程可以具有的最高优先级。static intMIN_PRIORITY
线程可以具有的最低优先级。static intNORM_PRIORITY
分配给线程的默认优先级。


Max_priority 的权限最高 最高为10;

Min_priority 的权限最底 最高为1;

Norm_priority 为默认权限 等级为5;

13.6 权限等级的测试,代码如下;

package com.eduask.thread.base;


public class ThreadPriorityTest {

public static void main(String[] args) {

/**

*创建最高几线程设置权限为10;

*/

MaxPriority maxPriority=new MaxPriority();

maxPriority.setPriority(10);

maxPriority.start();

/**

* 创建最底线程设置权限为1;

*/

MinPriority minPriority=new MinPriority();

minPriority.setPriority(1);

minPriority.start();

/**

* 创建默认线程设置权限为5;

*/

NormPriority normPriority=new NormPriority();

normPriority.setPriority(5);

normPriority.start();

}

}

class MaxPriority extends Thread{

@Override

public void run() {

for (int i = 0; i <1000; i++) {

System.out.println("MaxPriority"+i+" ");

}

}

}

class MinPriority extends Thread{

@Override

public void run() {

for (int i = 0; i <1000; i++) {

System.out.println("MinPriority"+i+" ");

}

}

}

class NormPriority extends Thread{

@Override

public void run() {

for (int i = 0; i <1000; i++) {

System.out.println("NormPriority"+i+" ");

}

}

}

0 0
原创粉丝点击