美文网首页Android面试相关
「Java基础」线程创建

「Java基础」线程创建

作者: dongbingliu | 来源:发表于2018-04-03 16:26 被阅读6次

1. 继承 Thread 类:

    private class MyThread extends Thread{
        @Override
        public void run() {
            //doSomething
        }
    }
    
    MyThread myThread = new MyThread();
    myThread.start();

2. 实现 Runnable 接口

    private class MyThread implements Runnable{

        @Override
        public void run() {
            //doSomeThing
        }
    }

    Thread myThread = new Thread(new MyThread());
    myThread.start();

常用简化模式:

  new Thread(new Runnable() {
     @Override
     public void run() {
         //todoList
     }
 }).start();

不同创建线程区别:

继承方式 不能资源共享, 实现 Runnable可以达到资源共享;
列子「卖票」

package threadTest;

public class TicketRunnable implements Runnable{

    private int ticket = 10;

    @Override
    public void run() {
        for(int i =0;i<10;i++){
            //添加同步快
            synchronized (this){
                if(this.ticket>0){
                    try {
                        //通过睡眠线程来模拟出最后一张票的抢票场景
                        Thread.sleep(100);
                        System.out.println(Thread.currentThread().getName()+"卖票---->"+(this.ticket--));
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }

    public static void main(String[] arg){
        TicketRunnable t1 = new TicketRunnable();
        new Thread(t1, "线程1").start();
        new Thread(t1, "线程2").start();
    }
}

相关文章

  • 面试题整理

    Java基础 创建线程的方式有哪些? 继承Thread类创建线程类 通过Runnable接口创建线程类 通过Cal...

  • Java面试题总结(上)

    多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 vola...

  • Java 面试题及答案

    多线程、并发及线程的基础问题 1)Java 中能创建 Volatile 数组吗? 能,Java 中可以创建 vol...

  • 2016java面试题总结

    多线程、并发及线程的基础问题: 1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 vo...

  • Java程序员不得不会的124道面试题(含答案)

    多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 vol...

  • 133道 Java 面试题及答案

    多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗? 能,Java 中可以创建 vol...

  • Java常见问题

    一、多线程、并发及线程的基础问题 1)Java 中能创建 Volatile 数组吗? 能,Java 中可以创建 v...

  • 【java基础】线程

    java基础 线程 参考详细:Java之多线程 一、创建线程 创建线程常见有两种方式,另外有两种新增方式 1.Th...

  • JAVA面试题 1

    1. 多线程、并发及线程的基础问题 1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 v...

  • 第5章 多线程编程

    第5章 多线程编程 5.1 线程基础 5.1.1 如何创建线程 在java要创建线程,一般有==两种方式==:1)...

网友评论

本文标题:「Java基础」线程创建

本文链接:https://www.haomeiwen.com/subject/dyqchftx.html