zoukankan      html  css  js  c++  java
  • 线程1

      写本系列的目是为了重新梳理这部分内容;而且我的最初的目的是为了搞懂Java中的异步的实现方式,其中要使用到Callable这个类。

    1 线程的第一种创建方式

      在JavaAPI中明确的规定了创建线程存在两种方式,可是在实际的开发过程中或者面试问到的问题时回答两种通常不能令人满意。而且我对于第三种确实是不太熟悉的。

      线程在Java中使用Thread类来表示;创建线程之后需要启动线程,因此方法start()就是启动线程的方式,至于我们的线程究竟要干什么,则是在run()方法中编写。

    package com._thread;
    
    /**
     * 创建线程的第一种方式:继承Thread类
     * @author gosaint
     *
     */
    public class ThreadDemoNo1 extends Thread{
        /**
         * 在这里我们编写线程要干的事。我让线程打印50次我在玩游戏
         * this.getName()返回当前线程的名称
         */
        @Override
        public void run() {
            for (int i = 0; i < 50; i++) {
                System.out.println(this.getName()+"我在玩游戏"+i);
            }
        }
        /**main方法是主线程,当i=10的时候我启动线程*/
        public static void main(String[] args) {
            for (int i = 0; i < 50; i++) {
                System.out.println("我在听音乐!"+i);
                if(i==10){
                    // Thread(Runnable target) 该构造器中的参数是Runnable接口对象
                    // 恰好是我们的Thread的子类
                    Thread t=new ThreadDemoNo1();
                    new Thread(t).start();//启动线程
                }
            }
        }
    
    }

    执行结果如下:

    我在听音乐!0
    我在听音乐!1
    我在听音乐!2
    我在听音乐!3
    我在听音乐!4
    我在听音乐!5
    我在听音乐!6
    我在听音乐!7
    我在听音乐!8
    我在听音乐!9
    我在听音乐!10
    我在听音乐!11
    我在听音乐!12
    我在听音乐!13
    我在听音乐!14
    我在听音乐!15
    我在听音乐!16
    Thread-0我在玩游戏0
    Thread-0我在玩游戏1
    Thread-0我在玩游戏2
    Thread-0我在玩游戏3
    Thread-0我在玩游戏4
    Thread-0我在玩游戏5
    我在听音乐!17
    Thread-0我在玩游戏6
    Thread-0我在玩游戏7
    Thread-0我在玩游戏8
    Thread-0我在玩游戏9
    Thread-0我在玩游戏10
    Thread-0我在玩游戏11
    Thread-0我在玩游戏12
    Thread-0我在玩游戏13
    Thread-0我在玩游戏14
    Thread-0我在玩游戏15
    Thread-0我在玩游戏16
    Thread-0我在玩游戏17
    Thread-0我在玩游戏18
    Thread-0我在玩游戏19
    Thread-0我在玩游戏20
    Thread-0我在玩游戏21
    Thread-0我在玩游戏22
    Thread-0我在玩游戏23
    Thread-0我在玩游戏24
    Thread-0我在玩游戏25
    Thread-0我在玩游戏26
    Thread-0我在玩游戏27
    Thread-0我在玩游戏28
    Thread-0我在玩游戏29
    Thread-0我在玩游戏30
    Thread-0我在玩游戏31
    Thread-0我在玩游戏32
    Thread-0我在玩游戏33
    Thread-0我在玩游戏34
    Thread-0我在玩游戏35
    Thread-0我在玩游戏36
    Thread-0我在玩游戏37
    我在听音乐!18
    Thread-0我在玩游戏38
    Thread-0我在玩游戏39
    Thread-0我在玩游戏40
    Thread-0我在玩游戏41
    Thread-0我在玩游戏42
    Thread-0我在玩游戏43
    Thread-0我在玩游戏44
    Thread-0我在玩游戏45
    Thread-0我在玩游戏46
    Thread-0我在玩游戏47
    Thread-0我在玩游戏48
    Thread-0我在玩游戏49
    我在听音乐!19
    我在听音乐!20
    我在听音乐!21
    我在听音乐!22
    我在听音乐!23
    我在听音乐!24
    我在听音乐!25
    我在听音乐!26
    我在听音乐!27
    我在听音乐!28
    我在听音乐!29
    我在听音乐!30
    我在听音乐!31
    我在听音乐!32
    我在听音乐!33
    我在听音乐!34
    我在听音乐!35
    我在听音乐!36
    我在听音乐!37
    我在听音乐!38
    我在听音乐!39
    我在听音乐!40
    我在听音乐!41
    我在听音乐!42
    我在听音乐!43
    我在听音乐!44
    我在听音乐!45
    我在听音乐!46
    我在听音乐!47
    我在听音乐!48
    我在听音乐!49

      

  • 相关阅读:
    Swing中的并发使用SwingWorker线程模式
    使用批处理打二次开发包
    【转】批处理删除SVN文件
    EAS BOS ORMapping的研究
    EAS BOS ORMapping 元数据解析示例
    ORMapping学习
    EAS BOS数据查询默认会查分录的分析
    【Oracle】常用查询
    KDTable公式解析提示信息设置
    【转】Swing多线程编程
  • 原文地址:https://www.cnblogs.com/gosaint/p/8319496.html
Copyright © 2011-2022 走看看