方式一: 继承Thread类.
/*
* main函数也叫主函数(也叫主线程),
* 因为所有代码的执行都是从这里开始的.
*/
public static void main(String[] args) {
// 在测试类中,创建线程对象.
MyThread mt1 = new MyThread(); // 开启线程. //start()
//mt1.run(); //如果调用run()方法, 只是普通的方法调用.
mt1.start(); //开启线程必须调用start()方法, 该方法会自动去调用run()方法.
//mt1.start(); //同一线程不能重复开启, 否则会报: IllegalThreadStateException异常. for (int i = 1; i <= 100; i++) {
System.out.println("main...." + i);
}
} /**
* 自定义的线程类: MyThread
* @author
*
*/
// 1) 定义一个类(MyThread), 继承Thread类.
public class MyThread extends Thread{
//2) 重写Thread#run(). @Override
public void run() {
//3) 把要执行的代码放入run()方法中.
for (int i = 1; i <= 100; i++) {
System.out.println("run______________" + i);
}
}
}
方式二: 实现Runnable接口.
public static void main(String[] args) {
//格式化代码: alt + shift + s --> 字母f // 在测试类中, 创建Runnable接口的子类对象,
MyRunnable mr = new MyRunnable();
// 并将其作为参数传入Thread类的构造, 创建线程对象.
Thread th = new Thread(mr); // 开启线程. //start()
th.start(); for (int i = 1; i <= 100; i++) {
System.out.println("main***" + i);
} } /**
* Runnable接口的具体实现类
* @author
*
*/
//1) 定义一个类(MyRunnable), 实现Runnable接口.
public class MyRunnable implements Runnable {
//2) 重写Runnable#run().
@Override
public void run() {
//3) 把要执行的代码放入run()方法中.
for (int i = 1; i <= 100; i++) {
System.out.println("run______________" + i);
}
}
}
												

java基础之多线程二:多线程实现方式的更多相关文章

  1. Java基础拾遗(二)

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76358523冷血之心的博客) 马上就要秋招了,新的一轮笔试面试马上 ...

  2. java基础语法(二)--单列模式

    java基础语法(二)--单列模式 /** * 功能:单列模式 * @author Administrator * */ public class SingletonTest { public sta ...

  3. java基础解析系列(二)---Integer

    java基础解析系列(二)---Integer 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bug的时候,才能处理更加从容. 目录 java基础解析 ...

  4. java基础知识点补充---二维数组

    #java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...

  5. Java基础系列3:多线程超详细总结

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 1.线程概述 几乎所 ...

  6. 【Java基础】【25多线程(下)&GUI】

    25.01_多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象.private (2)在本类 ...

  7. 【Java基础】【24多线程(上)】

    24.01_多线程(多线程的引入)(了解) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘 ...

  8. java基础学习总结二(标识符、字符集、数据类型以及类型转换)

    一:标识符 1:标识符可以由字母.数字.下划线_.$符等组成2:标识符的首字母只能是字母.数字.下划线3:标识符不能使用关键字或者保留字4:标识符可以是中文,但是不建议使用中文5:标识符可以任意长,没 ...

  9. JAVA基础-集合(二)

    一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为v ...

  10. Java基础学习笔记二十八 管家婆综合项目

    本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添 ...

随机推荐

  1. c++指针初探

    业余时间准备重温一下c++,因为在阅读Android源码到native层的时候感觉有点吃力,只是在大学时候很不用心的学过c++,所以重温下以便打好一些编程基础知识,本篇就很简单的对c++的指针做初步的 ...

  2. P4简介:数据平面的编程语言

    15-05-29          http://p4.org/join-us/ 由两位SDN大师----来自普林斯顿的Jennifer Rexford和斯坦福的Nick McKeown---- 共同 ...

  3. 使用Metasploit收集邮箱信息

    Metasploit提供了很多辅助的模块,非常实用.今天介绍一个叫search_email_collector的模块,它的功能是查找搜索引擎(google.bing.yahoo),收集和某个域名有关的 ...

  4. 神奇的TextField(1)

    先看一大段测试代码,每个小方法的注释行是输出结果. private var text_content:TextField; private function textFieldDemo():void{ ...

  5. Scrapy库安装和项目创建

    Scrapy是一个流行的网络爬虫框架,从现在起将陆续记录Python3.6下Scrapy整个学习过程,方便后续补充和学习.本文主要介绍scrapy安装.项目创建和测试基本命令操作 scrapy库安装 ...

  6. IQ/OQ/DQ/PQ

    Installation Qualification (IQ) 安装验证,安装时在用户处进行.它提供文件证明用户安装环境所有的规格及参数完全符合制造商的描述和安全 要求. Operation Qual ...

  7. Google全球服务器根域名的IP地址

    Google全球服务器根域名的IP地址 目前GOOGLE正与ZF继续谈判,此谈判结果将直接影响该公司在中国的存在此前,由于曾出现Google服务器被墙,而致使众网友只能FQ搜索的窘境而目前尚不知道若G ...

  8. 关于bonecp和QuerRunner

    之前一直以为boneCP和QueryRunner是绑定的,但是其实不是,后者来自于commons-dbUtils,BoneCP就是负责连接池. while preparing SQL: UPSERT ...

  9. shell中字体变色

    在linux中给字体使用数字代码变色 字体颜色代码:重置0 ,黑色30,红色31,绿色32,黄色33,蓝色34,洋红35,青色36,浅灰37 效果代码:1m加粗  2m加下划线  5m闪动效果  7m ...

  10. DataGrid方法标注

    在VS2010中无法增加了CColumn和Ccolumns类 解决方案,方案名->右击->添加类->ActiveX控件中的MFC类->添加弹出了“从ActiveX控件添加类向导 ...