zoukankan      html  css  js  c++  java
  • 01_线程的创建和启动

     
    1、线程的使用步骤
     
    2、第一种定义线程类的方法:继承java.lang.Thread类
    MyThread 文件:
    public class MyThread extends Thread {
     
    private int count=0;
    @Override
    public void run()
    {
    System.out.println("线程已启动");
    while(count<10000) {
    count++;
    }
    System.out.println("count:"+count);
    }
    }
     
    TestMyThread 文件:
    public class TestMyThread {
    /*
    * 继承Thread类创建线程
    * 1、继承Thread类
    * 2、重写run方法
    * 3、实例化线程对象
    * 4、调用start方法启动线程
    *
    * 继承Thread类会存在什么问题?
    * 线程类不能继承其他类
    */
    public static void main(String[] args)
    {
    //实例化线程对象
    Thread myThread=new MyThread();
    //启动线程
    myThread.start();
    /*
    * start方法的作用:该方法会使操作系统初始化一个新的线程,由这个新的线程来执行线程对象的run方法
    */
    }
    }
     
    运行效果:
    3、第二种定义线程类的方法:继承java.lang.Runnable接口
    MyRunnable文件:
    public class MyRunnable implements Runnable {
    private int count=0;
    @Override
    public void run() {
    count++;
    System.out.println("count:"+count);
    }
    }
    TestMyRunnable文件:
    public class TestMyRunnable {
     
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Runnable my=new MyRunnable();
     
    System.out.println("thread启动了");
    Thread thread=new Thread(my);
     
    System.out.println("thread2启动了");
    Thread thread_2=new Thread(my);
    thread.start();
    thread_2.start();
    }
     
    }
     
    4、两种创建方式的比较
  • 相关阅读:
    多线程编程核心技术(五)死锁
    SELinux详细配置
    Linux实现RAID
    iSCSi的基本配置
    文本超出省略号之前后省略号实现
    对象冻结
    条件判断的优美写法
    使用VConsole
    重绘和重排(回流)
    移动端rem布局
  • 原文地址:https://www.cnblogs.com/schangxiang/p/11173860.html
Copyright © 2011-2022 走看看