java进程

    xiaoxiao2026-03-19  18

    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 int MAX_PRIORITY 线程可以具有的最高优先级。 static int MIN_PRIORITY 线程可以具有的最低优先级。 static int NORM_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+" ");

    }

    }

    }

    转载请注明原文地址: https://ju.6miu.com/read-1308112.html
    最新回复(0)