苏木三少
错的不是你,而是这个世界。

线程和进程的区别,java程序的运行原理和线程的使用说明。

1.什么是进程?

一个 进程对应一个应用程序。例如:在windows操作系统启动Word就表示启动了一个进程。在java的开发环境下启动JVM,就表示启动了一个进程。现代的计算机都是支持多进程的,在同一一个操作系统中,可以同时启动多个进程。

2.多进程有什么作用?

单进程计算机只能做一件事情。

玩电脑,一边玩游戏(游戏进程)一边听音乐(音乐进程)。

对于单核计算机来讲,在同一个时间点上,游戏进程和音乐进程是同时在运行吗?

不是。因为计算机的CPU只能在某个时间点上做一件事。由于计算机将在“游戏进程”和“音乐进程”之间频繁的切换执行,切换速度极高,人类感觉游戏和音乐在同时进行。

多进程的作用本是提高执行速度,而是提高CPU的使用率。

进程和进程之间的内存是独立的。

3.什么是线程?。

线程是一个进程中的执行场景。一个进程可以启动多个线程。

4.多线程有什么作用?

多线程不是为了提高执行速度,而是提高应用程序的使用率。

线程和线程共享“堆内存和方法区内存”,栈内存是独立的,一个线程一个栈。

可以给我们人类一个错觉:感觉多个线程同时并发执行。

5、java程序的运行原理?

java命令会启动java虚拟机,启动JVM,等于启动了一个应用程序,表示启动了一个进程,改进程会自动启动一个“主线程”,然后主线程调用某个类的main方法,所以main方法运行在主线程中,在此之前的所以程序都是单线程的。

6、线程的定义使用和创建。

(1)、在java语言中实现多线程的方法
继承java.lang.Thread
重写run方法
(2)、线程的定义使用创建

如何定义一个线程
如何创建线程?
如何启动线程?

代码段:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package EightStudy;
/**
 * 在java语言中实现多线程的方法
 * 继承java.lang.Thread
 * 重写run方法
 * @author 苏慕少
 * 如何定义一个线程
 *如何创建线程?
 *如何启动线程?
 */


public class ThreadTest02 {
    public static void main(String[] args) {
        //创建线程
        Thread t = new Processor();
        //启动
        t.start();
       
       
        //t.run();这是普通方法调用就只有一个栈,先执行t在执行main
        //这段代码在主线程中运行
        for(int i =0;i<100;i++) {
            System.out.println("main->"+i);
        }
        //有了多线程之后,面方法结束只是主线程中没有方法栈帧了。
        //但是其他线程或者其他栈中还有栈帧。
        //main方法结束,程序可能还在运行。
       
    }

}
//定义一个线程
class Processor extends Thread{
    public void run() {
        for(int i =0;i<100;i++) {
            System.out.println("run-->"+i);
        }
    }
   
}

 

赞(2) 打赏
有问题的朋友随时留言,或者加我为好友。我的QQ是805375353. <<苏木三少博客 » 线程和进程的区别,java程序的运行原理和线程的使用说明。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

十年之约