码迷,mamicode.com
首页 > 编程语言 > 详细

[Java学习]多线程(207待续)

时间:2019-03-22 19:08:42      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:共享   system   main方法   java   class   多进程   定义   code   main   

关于多进程与多线程

使用多进程的目的:提高CPU利用率。
使用多线程的目的:提高应用程序?利用率。
多线程与多进程区别:进程间内存独立;同一个进程的线程间共享“堆内存和方法区内存”,栈内存是独立的,一个线程一个栈。

JVM原理

  • Java命令启动JVM虚拟机,等于启动了一个进程,该进程会自动启动一个主线程,然后主线程去调用某个类的main方法,所以main方法执行在主线程中。
  • 单线程中,一个方法调用另一个方法,则这些方法按序压入栈中,此时JVM中只有一个栈。

Java中多线程

public class ThreadTest {
    public static void main() {
        //创建一个线程
        Thread t=new Processer();
        //启动一个线程
        t.start();//这段代码执行瞬间结束。只是告诉JVM再分配一个栈给t线程。
                  //run方法不需要程序员手动调用,系统线程启动后自动调用run方法。
        
        //t.run();//若不写t.start(),直接t.run(),将还是有一个线程,t中的方法也在主线程中执行。
        
        //有了多线程后,main方法结束只是说明主线程栈中没有方法栈帧了。
        //但是其他线程(栈)中可能还有栈帧。
        //所以main方法结束,程序可能还在运行。
    } 
}
//定义一个线程
public class Processor extends Thread {
    //重写run方法
    public void run() {
        System.out.println("hello");
    }
}

[Java学习]多线程(207待续)

标签:共享   system   main方法   java   class   多进程   定义   code   main   

原文地址:https://www.cnblogs.com/coding-gaga/p/10580019.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!