Java多线程基础(1):Thread常用方法

Java多线程博大精深,深入学习可以学很久,先一点点地记录。
学习多线程前,都会接触到进程和线程相关的概念:

进程:正在执行的应用程序,单CPU在某一时间点上只能做一件事,而我们平常电脑执行的多进程,是CPU在做着程序间的高效切换让我们觉得是同是进行着多进程,多进程可以提高CPU的使用率。
线程:线程是进程的执行单元,在同一个进程(程序)内可以执行多个任务,每个任务都可以看作是一个线程,多线程意思是一个应用程序有多条执行路径。
值得注意,线程开销比进程小,起一个线程能共享的数据只是线程的上下文,进程还需要读程序整体,消耗比较大。

Java程序的运行原理

Java命令去启动JVM,JVM会启动一个进程,该进程又会去启动主线程。
JVM的启动是多线程的,因为它至少启动两个线程,主线程和垃圾回收线程。
多线程的启动原理:start()方法去开启一个线程,再由JVM去调用run()方法。

Thread类

实现多线程最基础的类是Thread类,这里对它的方法做下总结:

构造方法:
public class MyThread extends Thread{
	volatile boolean flag;
	private String name;
	
	public MyThread(){
	//空参构造
	}
	public MyThread(String name,boolean flag) {
	//带参构造,可在创建对象时初始化线程名称和线程结束标识
		this.name=name;
		this.flag=flag;
	}
}


成员方法:
my.start;//开启线程
my.setPriority(int n);//设置线程的优先级,1-10之间,默认为5,Java会让优先级高的线程使用CPU
Thread.sleep(int n);//设置线程休眠时间
Thread.currentThread();//获取当前正在执行的线程对象
my.join();//让某一线程执行完毕其它线程才能跟着执行,在线程启动之后调用
Thread.yield();//让多个线程执行时间更平均,但不保证一线程一次
my.setDaemon(true);//设置守护线程,当主线程结束,其它线程也会跟着一起停掉,需在启动线程前调用
my.stop();//杀死线程,该方法已被废除,因为它不释放线程获得的锁
my.interuppt();//中断当前线程正在执行的操作,继续向下执行,并抛出异常

线程的生命周期:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值