实现线程的两种方式

  • 实现Runnable接口如果当前类 不仅要继承其他类( 非Thread类), 还要实现多线程,那么 只能通过当前类实现 Runnable接口创建Thread类对象实现Runnable接口的程序会创建一个Thread对象,并将Runnable接口的对象target作为其运行对象。Thread类的构造方法:构造方法 介绍 public Thread(Runnable target); 创建一个新的 Thread 对象。 public Thread(Runnable target , String name); 创建一个新的 Thread 对象,并指定名字。实现Runnable接口 实例:
import javax.swing.*;
import java.awt.*;

public class Demo1 extends JFrame implements Runnable {
    private JLabel jLabel = new JLabel();
    private int count = 0;
    private Container c = getContentPane();

    public Demo1(){
        setBounds(400,200,250,100);
        c.setLayout(null);
        try{
            Icon icon = new ImageIcon("src/setting.png");
            jLabel.setIcon(icon);
        }catch (NullPointerException e){
            System.out.println("图片不存在");
            return;
        }
        jLabel.setHorizontalAlignment(SwingConstants.LEFT);
        jLabel.setBounds(10,10,200,50);
        jLabel.setOpaque(true);
        c.add(jLabel);
        setVisible(true);
    }

    public static void main(String[] args) {
        Demo1 demo1 = new Demo1();
        Thread thread = new Thread(demo1);
        thread.start();
    }

    @Override
    public void run() {
        int i = 10;
        while (true){
            jLabel.setBounds(i,10,200,50);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            i+=5;
            if (i>=200){
                i=10;
            }
        }
    }
}

Original: https://www.cnblogs.com/TeaTracing/p/16124143.html
Author: TeaTracing
Title: 实现线程的两种方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622481/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 关于SQL语句的执行顺序

    首先,要清楚在一select语句中都会用到哪些关键字: 其次,要知道每执行一步就会生成一个对应的虚拟表: 了解这两点,然后看看执行的顺序。 [En] Understand thes…

    数据库 2023年5月24日
    081
  • Mysql 一主一从

    1. 主从原理 1.1 主从介绍 所谓 mysql 主从就是建立两个完全一样的数据库,其中一个为主要使用的数据库,另一个为次要的数据库,一般在企业中,存放比较重要的数据的数据库服务…

    数据库 2023年5月24日
    076
  • mysql 常用的命令2

    找出每个部门,不同工作岗位的最高薪资。 mysql> select deptno,job,max(sal) from emp group by deptno,job; +&#…

    数据库 2023年5月24日
    069
  • flowable 从zip压缩包 部署流程定义

    /**部署流程定义(从zip压缩包) * @param name //部署名称 * @param zippath //zip文件路径 * @return 部署ID * @from …

    数据库 2023年6月6日
    087
  • API开放平台网关需要做什么?

    首发于公众号:BiggerBoy欢迎关注,查看更多技术文章 怎么搭建API开放平台网关? API的全称是应用编程接口(Application Programming Interfa…

    数据库 2023年6月11日
    096
  • javaweb之HttpSession对象

    1.session会话追踪原理 客户端第一次请求服务端,服务端会创建一个session对象并且存储下来,之后会将session的唯一标识sessionId设置到响应头中传给客户端 …

    数据库 2023年6月16日
    081
  • Golang context

    Context Go 语言中提供了 context 包,通过显示传递 context, 实现请求级别的元数据、取消信号、终止信号的传递。context 包提供了从现有的上下文值(c…

    数据库 2023年6月16日
    085
  • SNMP windows OIDs

    Windows OID’ for CPU, Memory, Disk Utilization2007-10-31 11:03Windows CPU Utilizatio…

    数据库 2023年6月11日
    096
  • MySQL知识点大全!!

    使用PreStatement对象: public int execUpdate(String sql, Object[] parms) { int count = 0; try {…

    数据库 2023年6月16日
    089
  • day04-1群聊功能

    多用户即时通讯系统04 4.编码实现03 4.5功能实现-群聊功能实现 4.5.1思路分析 群聊的实现思路和私聊的实现非常类似。 不同的是:私聊时,服务端接收到消息后,只需要找出接…

    数据库 2023年6月11日
    083
  • MySQL Server可执行注释

    MySQL Server当前支持如下3种注释风格: 以’# ‘开头的单行注释 以’– ‘开头的单行注释 C语言风格的单行…

    数据库 2023年5月24日
    093
  • python中set()函数的用法

    set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。 set([iterable]) iterable — 可迭代对象…

    数据库 2023年6月11日
    077
  • iperf3的使用

    工具/原料 windows系统,iperf 32位和64位; 客户端和服务端的bat文件 方法/步骤 进入文件夹下面,运行”服务端iperf.bat”文件 …

    数据库 2023年6月9日
    074
  • 用Python做一个中秋抢购月饼的脚本

    ; 序言 每逢佳节倍思亲,想买个东西给家里,结果发现手速不够,网速不够快,没有时间下单等等各种原因导致最后想买的东西售罄了… 甚至跟你一起抢购的可能是脚本,太真实了! …

    数据库 2023年6月14日
    0100
  • Pisanix v0.2.0 发布|新增动态读写分离支持

    1.动态读写分离介绍 1.1 介绍 读写分离是业界使用 MySQL 高可用最常用的方案之一,在实际场景中可以提高查询性能,降低服务器负载。本次版本在 v0.1.0 静态规则基础上增…

    数据库 2023年6月16日
    097
  • Spring 学习笔记

    Spring 框架是由于软件开发的复杂性而创建的。Spring 使用的是基本的 JavaBean 来完成以前只可能由 EJB 完成的事情。 Spring 一. Spring Fra…

    数据库 2023年6月11日
    080
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球