创建线程的三种方式 线程的常用方法。线程的Sleep阻塞

什么是进程?
正在运行的程序
什么是线程?
进程中,多个独立的小的执行单位
进程中,至少有一个前置/前台线程

CPU执行线程,感官上是同时,但是同一时间,只执行一个线程
切换速度很快,所以感觉上是同时(CPU的切换是随机的)

实现多线程 Thread :3种方式
1.继承Thread类,实现run方法 -> new MyThread()
2.实现Runnable接口,实现run方法 -> new Thread(Runnable)
3.使用匿名内部类集合方式1、2

线程的状态[生命周期]:详见图

优先级:默认值{5},最高{10},最低{1} setPriority(5)
提高了获得CPU时间片的概率
没什么太大用处

守护线程:setDaemon(true)
当所有的前置线程结束,守护线程也结束
通常守护线程都是死循环
主程序自带守护线程:GC

Thread.sleep(1000)
将线程进入阻塞状态
Thread.yield()
归还CPU时间片 – 模拟CPU切换

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
package java_11;

public class ThreadDemo01 {--------------------------------------------------创建线程方式一
//主方法本身就是一个线程 - main线程
public static void main(String[] args) {
//方式一:创建多个线程 Thread
Thread t = new MyThread1();
Thread t1 = new MyThread1();

	//开启线程
	t.start();//开启独立线程
	t1.start();

// t.run();//普通方法,不能作为独立线程

	//所有的前置线程都结束,程序才结束。
	System.out.println("main");
}

}

//方式一: 自定义类,继承Thread
//好处:类本身就是线程
//坏处:只能继承一个线程类,扩展性差,耦合性高–(代码与代码之间的关联性高–不好)
class MyThread1 extends Thread{
//重写run方法 - 线程的核心方法,就是线程执行任务
public void run() {
Thread t2 = Thread.currentThread();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值