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()+"走下舞台");
    
    }
    
}

时间: 2024-08-03 08:46:49

JAVA实现多线程入门的相关文章

(转载)Java多线程入门理解

转载出处http://blog.csdn.net/evankaka 写在前面的话:此文只能说是java多线程的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢?如果你觉得此文很简单,那推荐你看看Java并发包的的线程池(Java并发编程与技术内幕:线程池深入理解),或者看这个专栏:Java并发编程与技术内幕.你将会对Java里头的高并发场景下的线程有更加深刻的理解. 目录(?)[-] 一扩展javalangThread类 二实现javalan

Java的多线程 简单入门

Java的多线程 简单入门 首先可以先搞清楚什么是程序.进程.线程,以及它们之间的关系: 定义: 一 程序只是一组指令的有序集合,它是静态的 二 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位: 三 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程: 进程与线程区别与联系 (

java中的多线程入门

本文主要是想学习下java中多线程的东西. 一.理解多线程. 多线程是怎么样的机制?他是允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此之间相互独立. 线程又称为轻量级进程,它和进程一样拥有独立的执行控制,有操作系统负责调度,区别在于线程诶有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单. 多个线程的执行是并发的,也就是在逻辑上“同时”,而不管是否是物理上的“同时”,如果系统只有一个CPU,那么真正的“同时”是不可能的,但是由于CPU的速

java多线程入门学习(一)

java多线程入门学习(一) 一.java多线程之前 进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程.     线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小.     线程和进程一样分为五个阶段:创建.就绪.运行.阻塞.终止.     多进程是指操作系统能同时运行多个任务(程序).     多线程是指在同一程序中有多个顺序流在执行. 在java中要想实现多线程,有两种手段,一种是继承T

JAVA多线程入门

为什么使用多线程 进程之间不能共享内存,但线程之间共享内存很容易 系统创建进程需要为该进程重新分配系统资源,但创建线程代价小得多,因此使用多线程来实现多任务并发比多进程的效率高 JAVA内置了多线程功能支持,而不是单纯的作为底层操作系统的调度方式,从而简化了JAVA的多线程编程 线程的创建 继承Thread类(可直接使用this关键字获得当前对象,多个线程无法共享线程类的实例变量) 实现Runnable接口(必须使用Thread.currentThread()方法,多个线程可以共享线程类的实例变

java 8编程入门官方教程pdf

下载地址:网盘下载 ava 8编程入门官方教程第6版pdf是为java学习者们打造的学习资料,针对新版JavaSE8对内容进行了全面更新.在畅销书作者Herbert Schildt(施密特)的帮助下,可以即刻开始学习Java程序设计的基础知识.<Java 8编程入门官方教程(第6版)>从基础知识讲起,介绍了如何创建.编译和运行Java程序,然后讨论了关键字.语法和一些结构,它们共同构成了Java语言的核心.之后,<Java 8编程入门官方教程(第6版)>介绍了Java的一些高级特性

Java并发编程入门与高并发面试

第1章 课程准备(入门课程)课程目标:Java并发编程入门,适合没有并发编程经验的同学,本章首先从课程重点.特点.适合人群及学习收获几个方面对课程进行整体的介绍,然后会从一个实际的计数场景实现开始,给大家展示多线程并发时的线程不安全问题,让大家能够初体验到并发编程,之后会讲解并发和高并发的概念,并通过对比让大家明白到底什么是并发和...1-1 课前必读(不看会错过一个亿)1-2 课程导学1-3 并发编程初体验1-4 并发与高并发基本概念(选看)1-5 JAVA内存模型1-6 并发的优势与风险(选

【经验分享】新手学Java编程语言怎么入门?

新手学Java编程语言怎么入门?掌握语言基础是第一步,了解java基础知识,Java关键字.核心概念或者基本编码技术.掌握操作符.控制执行流程.访问权限控制.复用类.多态.接口.字符串.泛型.数组.容器深入研究.JavaI/O系统.枚举类型.并发以及图形化用户界面等内容. 为了帮助大家更轻松的学好java开发,给大家分享一套java开发学习资料,小编推荐一个学java开发技术的学习裙:三七四三二零二八二,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干

Java基础--多线程的方方面面

1,什么是线程?线程和进程的区别是什么? 2,什么是多线程?为什么设计多线程? 3,Java种多线程的实现方式是什么?有什么区别? 4,线程的状态控制有哪些方法? 5,线程安全.死锁和生产者--消费者 6,线程的优化有哪些方法? 1,什么是线程?线程和进程的区别是什么? 线程是程序执行的最小单元. 区别: 进程是操作系统进行资源处理和分配的最小单位,而一个进程可以包含多个线程,并共享进程的资源. 2,什么是多线程?为什么设计多线程? 介绍之前,我们需要理解并行和并发的定义: 并行:同一个时刻有多