永洪社区
标题: 【JAVA】线程初步:线程的创建方式 [打印本页]
作者: Yonghong-Club 时间: 2022-1-26 13:26
标题: 【JAVA】线程初步:线程的创建方式
本文来自永洪社区神秘大佬 剧中人游者心
本节内容介绍给那些还没接触过Java线程的朋友,希望能有个感性认识。Java线程,英文名是Thread,所有的Java程序的运行都是在进程中分配线程来处理的。如果是一个main方法,则由一个主线程来处理,如果不创建自定义线程,那么这个程序就是单线程的。也许在使用main方法写代码时我们感觉不到多线程的存在,在Web程序中也感觉不到多线程和自己编写程序有什么关系,但是当遇到一些由于Java并发导致的古怪的问题时,当需要自己用多线程来编写程序或者控制多个线程访问共享资源时,就会用到相应的知识。
先介绍线程的使用方式,之后的文章再介绍原理。
在Java中,“线程”指两件不同的事情:
1、java.lang.Thread类的一个实例;
2、线程的执行。
使用java.lang.Thread类或者java.lang.Runnable接口编写代码来定义、实例化和启动新线程。
一个Thread类实例只是一个对象,像Java中的任何其他对象一样,具有变量和方法,生死于堆上。
Java中,每个线程都有一个调用栈,即使不在程序中创建任何新的线程,线程也在后台运行着。
一个Java应用总是从main()方法开始运行,mian()方法运行在一个线程内,它被称为主线程。
一旦创建一个新的线程,就产生一个新的调用。
线程总体分两类:用户线程和守候线程。
当所有用户线程执行完毕的时候,JVM自动关闭。但是守候线程却不独立于JVM,守候线程一般是由操作系统或者用户自己创建的。