多线程基础

1.基础概念

1.程序

一段可执行的代码,并且拥有某些属性,可以实现某种功能。

2.进程

进程类似于程序,一个进程可以实现多个任务。

3.线程

线程类似于任务,函数,一个进程由多个线程组成。

4.并行

多个线程同时运行,互不影响,它们之间是并行关系。

5.并发

即一段时间具有并行关系的多个线程执行的任务总数。

2.创建线程过程

1.创建thread子类继承thread类,重写run方法。

public class ThreadBall extends Thread{

    //重写run方法:启动线程执行的方法
    //run方法执行完,该线程结束
    /*
     public void run() {
        if (target != null) {
            target.run();
        }
    }
     */
    public void run(){
        while (true){   //死循环
            try {
                Thread.sleep(1000);  //延时函数
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("线程名:"+this.getName());
            g.setColor(Color.black);
            g.fillOval(x++,y++,50,50);
            g.setColor(color);
            System.out.println("color的颜色"+color);
            g.fillRect(x,y,80,80);      //用矩形覆盖小球

        }
    }



2.创建thread子类对象调用start()方法,自动调用重写的run函数。

 public void actionPerformed(ActionEvent e) {    //按钮被按下触发函数


        //创建线程对象
        ThreadBall tb = new ThreadBall(g, color);
        System.out.println("sadsdaasd"+color);
        //启动线程:每个线程对象只能启动一次
        tb.start();
        System.out.println("没用的");
    }

3.线程的生命周期

1.启动状态(New):尚未启动的线程处于这种状态

2.可运行状态(Runnable):当调用start方法后,线程处于运行状态

3.阻塞(blocked):受阻塞并等待某个监听器运行权限的线程处于这个状态

4.等待状态(waiting):当前线程有运行权限,正在等待前面线程运行完,当等待时间结束后,该线程运行

5.超时等待(time_waiting):超过等待时间,当前线程自动运行

6.终止状态:线程run函数结束,运行结束

线程生命周期如下图所示:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值