java基础之多线程二:多线程实现方式
方式一: 继承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基础之多线程二:多线程实现方式的更多相关文章
- Java基础拾遗(二)
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76358523冷血之心的博客) 马上就要秋招了,新的一轮笔试面试马上 ...
- java基础语法(二)--单列模式
java基础语法(二)--单列模式 /** * 功能:单列模式 * @author Administrator * */ public class SingletonTest { public sta ...
- java基础解析系列(二)---Integer
java基础解析系列(二)---Integer 前言:本系列的主题是平时容易疏忽的知识点,只有基础扎实,在编码的时候才能更注重规范和性能,在出现bug的时候,才能处理更加从容. 目录 java基础解析 ...
- java基础知识点补充---二维数组
#java基础知识点补充---二维数组 首先定义一个二维数组 int[][] ns={ {1,2,3,4}, {5,6,7,8}, {9,10,11,12}, {13,14,15,16} }; 实现遍 ...
- Java基础系列3:多线程超详细总结
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 1.线程概述 几乎所 ...
- 【Java基础】【25多线程(下)&GUI】
25.01_多线程(单例设计模式)(掌握) 单例设计模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象.private (2)在本类 ...
- 【Java基础】【24多线程(上)】
24.01_多线程(多线程的引入)(了解) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘 ...
- java基础学习总结二(标识符、字符集、数据类型以及类型转换)
一:标识符 1:标识符可以由字母.数字.下划线_.$符等组成2:标识符的首字母只能是字母.数字.下划线3:标识符不能使用关键字或者保留字4:标识符可以是中文,但是不建议使用中文5:标识符可以任意长,没 ...
- JAVA基础-集合(二)
一.Map整体结构体系 Map是集合的另一大派系,与Collection派系不同的是Map集合是以键值对儿的形式存储在集合的.两个键为映射关系,其中第一个键为主键(主键是唯一的不可重复),第二个键为v ...
- Java基础学习笔记二十八 管家婆综合项目
本项目为JAVA基础综合项目,主要包括: 熟练View层.Service层.Dao层之间的方法相互调用操作.熟练dbutils操作数据库表完成增删改查. 项目功能分析 查询账务 多条件组合查询账务 添 ...
随机推荐
- 前端画图之iphoneSE主屏
今天逛园子,无意间看到一个用div+css画的Macbook Air的博客,瞬间想到很久之前我也做过类似的事, 而且,当时写完之后,真的是成就感爆棚啊!我去开源中国上翻到了我当时贴的源码,当时是在手机 ...
- oracle重建undo表空间
create undo tablespace UNDOTBS2 datafile 'D:\oracle\product\10.2.0\oradata\ttonline\UNDOTBS02.DBF' s ...
- 使用LNMP环境安装typecho博客的全程记录
虽然我是搞asp.net的 但是十分欣赏php,php有很多开源的博客程序 比如大名鼎鼎的Wordpress.还有各种独立博客大牛使用的z-blog,以及短小精悍的emblog. wordpress臃 ...
- linux【基础命令】
最近在学linux,避免一些命令忘记,所以在此记录一下: linux文件列表遍历 ls -a 列出所有的文件及文件夹 包括隐藏的ls -l 列出文件目录的详细信息 history 查看历史命令ctrl ...
- 深入分析AIDL原理
深入分析AIDL原理 分类: Android2011-11-18 17:29 6522人阅读 评论(1) 收藏 举报 descriptorcallbackservicenullinterfaceser ...
- AngularJS方法 —— angular.bootstrap
描述: 此方法用于手动加载angularjs模板 (官方翻译:注意基于端到端的测试不能使用此功能来引导手动加载,他们必须使用ngapp. angularjs会检测这个模板是否被浏览器加载或者加载多次并 ...
- C# null和" "的区别
String str1 = null; str引用为空 String str2 = ""; str引用一个空串 也就是null没有分配空间,""分 ...
- openfaas 简单试用
1. 安装 faas-cli 参考以前文章,或者使用官方的shell脚本 2. 简单例子 mkdir rong cd rong faas-cli new rong --lang python / ...
- IBM Cognos 10.2 最新体验之旅
IBM Cognos Data Manager 数据集市的构建利器 本文详细的介绍了 Cognos 最新版本 10.2 的数据集市构建器 Data Manager 的使用,对于希望系统了解 Cogno ...
- World、Excel利用流下载
/** * 下载excel * @param request * @param response * @param filePath * @param fileName */public static ...