JAVA实现多线程入门
package com.thread;
/**
* 1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种
* 机制被称为多线程
* 2:实现线程的两种方法是,分别是继承java.lang.Thread或者实现java.lang.Runnable
* 接口
* 3:Thread泪时java.lang包中的一个类,从这个类实例化的对象代表线程
* 4:完成线程真正功能的代码是放在run()方法中的,当一个泪继承Thread类后,就可以
* 在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread
* 类中的strat()方法执行线程,也就是调用run()方法。
* @author biexiansheng
*
*/
public class ThreadTest extends Thread {//指定类继承Thread类
private int count=10;
public void run(){//重写run()方法
while(true){
System.out.print(count+" ");//打印count变量
if(--count==0){//使count变量自减,当自减为0时,退出循环
return;
}
}
}
public static void main(String[] args) {
//new ThreadTest().start();
Thread t=new ThreadTest();//两种方法都可以实现线程运行
t.start();
}
}
示例如下
package com.thread;
/**
* 1:多线程实例练习
* @author biexiansheng
*
*/
public class ThreadTest1 extends Thread{
//多线程的实现都是在run()方法中实现的
public void run(){
System.out.println(getName()+"登上舞台");
int count=0;//定义一个变量
while(count<=100){
System.out.println(getName()+"登上"+count+"次舞台");
count++;
if(count%10==0){
try {
Thread.sleep(2000);//捕获异常,休眠2秒
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//
}
}
System.out.println(getName()+"走下舞台");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Thread t=new ThreadTest1();
t.setName("Mr.Thread");
t.start();
//new ThreadTest1().start();
//实现Runnable接口
Thread t1=new Thread(new RunnableTest(),"Ms.Runnable");
t1.start();
}
}
class RunnableTest implements Runnable{
//写完上一句,类名报错,说明实现一个接口,就要实现这个接口内的方法
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println(Thread.currentThread().getName()+"走上了舞台");
//Runnable接口实现getName必须通过线程的currentThread()方法得到
int count=0;//定义一个变量
while(count<=100){
System.out.println(Thread.currentThread().getName()+"登上"+count+"次舞台");
count++;
if(count%10==0){
try {
Thread.sleep(2000);//捕获异常,休眠2秒
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//
}
}
System.out.println(Thread.currentThread().getName()+"走下舞台");
}
}
JAVA实现多线程入门的更多相关文章
- 【Java】多线程入门
Java多线程学习(入门) 前言 目前对于线程的了解仅仅停留在学习python的threading库,很多线程的概念没有真正弄清楚,所以选择来系统性的学习多线程.那么这次选择的是Java的多线程学习, ...
- java中多线程入门有趣介绍
我们在网上可以看到所有有关于java的线程的基本概念的很多解释,不乏有很多详细经典的解释和代码解说.但是我们的很多初学者看完不能有一个直观的印象,特别是一些没有编程基础的学习者,很多时候要花很多时间去 ...
- (转载)Java多线程入门理解
转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更 ...
- java多线程入门学习(一)
java多线程入门学习(一) 一.java多线程之前 进程:每一个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销.一个进程包括1--n个线程. 线程:同一类线程共享代码 ...
- Java的多线程 简单入门
Java的多线程 简单入门 首先能够先搞清楚什么是程序.进程.线程,以及它们之间的关系: 定义: 一 程序仅仅是一组指令的有序集合.它是静态的 二 进程是具有一定独立功能的程序关于某个数据集合上的一次 ...
- Java多线程学习(一)Java多线程入门
转载请备注地址:https://blog.csdn.net/qq_34337272/article/details/79640870 系列文章传送门: Java多线程学习(一)Java多线程入门 Ja ...
- java多线程入门
一.认识多任务.多进程.单线程.多线程 要认识多线程就要从操作系统的原理说起. 以前古老的DOS操作系统(V 6.22)是单任务的,还没有线程的概念,系统在每次只能做一件事情.比如你在copy东西 ...
- Java多线程入门及实战
基本概念: 1: 程序 2 进程 3 线程 4 进程和线程的区别 5 进程和程序的区别 Java实现多线程的方法: 1 继承Thread 2 实现Runable 3 实现callable 4 线程池的 ...
- Java 服务端入门和进阶指南
作者:谢龙 链接:https://www.zhihu.com/question/29581524/answer/44872235 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 现在互联网上资 ...
随机推荐
- Visual Studio 必备神器
会使用工具是人类文明的一大进步,今天敏捷大行其道,好的工具可以大大的提高生产力,这里说的工具都是VS平台上的扩展工具,一些机械的部分可以交给工具去处理,自己多关注其他部分.下面分享下我觉得不错的工具, ...
- zzulioj 1907小火山的宝藏交易(dfs记忆化搜索)
#include <stdio.h> #include <algorithm> #include <string.h> #include <vector> ...
- 图解 & 深入浅出 JavaWeb:Servlet必会必知
从[JavaEE 要懂的小事] Http相关,一直想写点Web开发相关的.最近项目接口开发紧,还有准备新的九月份战斗.JDK IO源码就隔一段落,温故知新看看Servlet & JSP 相关. ...
- phpcms v9编辑器ckeditor设置回车换行br为段落p标签
phpcms v9和dedecms自带的编辑器都是使用的ckeditor,在默认情况下使用ckeditor编辑内容时,按下回车键后在源代码显示的是<br>而非<p>标签,对于习 ...
- SD-WAN技术分析
1.概述 转载须注明来自 SDNLAB并附上本文链接. 本文链接:http://www.sdnlab.com/17810.html 宽带接入以及Internet骨干网容量的持续提升,促使企业WAN技术 ...
- iOS全局调用的提示 没有网络 没有更多 等。。 短时间内自动消失
本来想用SVProgressHUD 但是由于这个需求相对要简单 所以自己写了 下面上代码 .h 文件 #import <UIKit/UIKit.h> @interface HaveNoMo ...
- discuz数据库表
http://faq.comsenz.com/library/database/x3/x3_index.htm discuz数据库表字典 Discuz X3各数据库表用途 pre_common_ ...
- jquery 获取radio选中的值
如下案例:常用方法 1.获取选中值,三种方法都可以: $('input:radio:checked').val(): $("input[type='radio']:checked" ...
- MySQL之CAST与CONVERT 函数的用法
两者具体的语法如下:CAST(value as type); CONVERT(value, type); 可以转换的类型是有限制的.这个类型可以是以下值其中的一个: 二进制,同带binary前缀的效果 ...
- Dynamic CRM 2013学习笔记(二十七)无代码 复制/克隆方法
前面介绍过二种复制/克隆方法:<Dynamic CRM 2013学习笔记(十四)复制/克隆记录> 和<Dynamic CRM 2013学习笔记(二十五)JS调用web service ...