`
想学跑的猪
  • 浏览: 15231 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员_多线程

阅读更多

    创建多线程有两种方式:

      1.声明类的时候继承Thread类,示例如下:

class Person extends Thread{
	private String pname;
	private int age;
	int count=100;
	Person(String pname,int age){
		this.pname=pname;
		this.age=age;
		
	}
	public void run(){
		while(true){
			if(count>0){
                 try{
                   sleep(10);
                 }catch(Exception e){
                    }
		System.out.println(Thread.currentThread().getName()

+pname+"...."+age);
		count--;
			}
		}
	}
}
public class ThreadDemo {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Person p=new Person("zhangsan",23);
		Thread t1=new Thread(p);
		Thread t2=new Thread(p);
		Thread t3=new Thread(p);
		Thread t4=new Thread(p);
		t1.start();
		t2.start();
		t3.start();
		t4.start();     
	}
}

         2.声明类的时候实现Runnable接口。示例如下:

class Person implements Runnable{
	private String pname;
	private int age;
	int count=100;
	Person(String pname,int age){
		this.pname=pname;
		this.age=age;
		
	}
	public void run(){
		while(true){
			if(count>0){
				try { 
					Thread.sleep(10);
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
		System.out.println(Thread.currentThread().getName()+pname+"...."+age);
		count--;
			}
		}
	}
}
public class ThreadDemo {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Person p=new Person("zhangsan",23);
		Thread t1=new Thread(p);
		Thread t2=new Thread(p);
		Thread t3=new Thread(p);
		Thread t4=new Thread(p);
		t1.start();
		t2.start();
		t3.start();
		t4.start();     
	}
}

        两者的区别

         Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是继承Thread的局限。

        在实际开发中一个多线程的操作很少使用Thread类,而是通过Runnable接口完成。

       此外实现了Runnable接口的多线程还可以达到资源共享的目的。

        

 

分享到:
评论

相关推荐

    黑马程序员_张孝祥_Java多线程与并发库

    黑马程序员_张孝祥_Java多线程与并发库,老师讲的非常仔细,老师很有耐心.欢迎大家下载学习.

    黑马程序员_张孝祥_Java多线程与并发库 视频+代码+资料

    根据给定文件的信息,我们可以提炼出以下关于Java多线程与并发库的相关知识点: ### Java多线程基础 1. **线程的概念**:在Java中,线程是程序执行流的基本单元。一个标准的Java应用程序至少有一个线程,即主...

    黑马程序员_(适合初学者入门的Java基础视频)

    8. **多线程**:介绍线程的概念,讲解如何创建和控制线程,以及同步机制,如synchronized关键字和wait/notify机制。 9. **Java API和类库**:通过实例演示如何使用Java标准库中的各种类,如Date、Calendar、Math等...

    01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip

    【标题】"01_黑马程序员_张孝祥_Java基础加强_课程价值与目标介绍.zip" 提供的是一门由黑马程序员机构推出的Java基础强化课程,由讲师张孝祥主讲,旨在深入讲解Java编程的基础知识并进行能力提升。 【描述】中提到...

    黑马程序员_从零开始征服Android之旅(第一季)源码和笔记

    《黑马程序员_从零开始征服Android之旅(第一季)源码和笔记》是一份全面的Android开发学习资源,旨在帮助初学者系统地掌握Android开发技术,实现从理论到实践的跨越。这份资料涵盖了一系列关键知识点,包括但不限于...

    黑马程序员_Java基础辅导班教程课件[第01期]第13天

    9. **多线程**:讲解如何创建和管理线程,以及同步机制。 10. **反射**:讨论如何在运行时动态获取类信息并进行操作。 【Java视频教程】 视频教程是学习Java的有效方式,它能直观地展示编程过程,便于理解复杂的...

    黑马程序员_毕向东_Java基础源码.rar

    这个名为“黑马程序员_毕向东_Java基础源码.rar”的压缩包文件,包含了丰富的Java基础源代码实例,对于初学者来说,是深入了解Java编程的良好资源。 一、Java基本语法 Java语言以其严格的类型检查和面向对象特性...

    黑马程序员_2小时教你写一个安卓程序[第01天]课件源码

    在本课程中,“黑马程序员”将引导我们快速入门安卓应用程序的开发,这是一段为期两天的密集学习旅程,第01天的课程主要侧重于基础知识的建立和首个安卓程序的编写。通过这次学习,我们将了解到安卓开发环境的搭建、...

    多线程高新(黑马程序员)

    本文将深入探讨“多线程高新”这一主题,结合黑马程序员的课程内容,来阐述多线程的核心概念、优势、实现方式以及在实际应用中的注意事项。 首先,多线程是指在一个进程中同时执行多个线程,这些线程可以共享同一...

    黑马程序员_毕向东最新经典Java基础视频

    根据提供的文件信息,我们可以推断出这是一套由知名IT教育机构“黑马程序员”出品、由讲师毕向东主讲的Java基础教学视频。由于实际视频内容无法直接获取,本篇将依据标题、描述以及部分标签内容,综合分析并展开相关...

    黑马程序员_Java基础辅导班教程课件[第01期]第10天

    在"黑马程序员_Java基础辅导班教程课件[第01期]第10天"中,我们聚焦于Java编程语言的基础知识,这是一门面向初学者的课程,旨在帮助学员快速掌握Java的核心概念。通过这个阶段的学习,学员将能够理解并运用Java的...

    黑马程序员_Java基础辅导班教程课件[第01期]第4天

    在"黑马程序员_Java基础辅导班教程课件[第01期]第4天"中,我们可以推测这是针对初学者的Java编程课程,旨在帮助学员掌握Java的基础知识。 在课程的第4天,可能讲解了以下核心概念: 1. **类(Class)**:`Demo.class...

    黑马程序员-java多线程技术01

    本教程将聚焦于Java中的多线程技术,以“黑马程序员-java多线程技术01”为学习起点,探讨如何在Java中实现并管理线程。 首先,我们来理解什么是线程。线程是操作系统分配CPU时间的基本单元,一个进程中可以有多个...

    B站黑马程序员Python教程学习笔记.zip

    在B站黑马程序员的Python教程中,你将深入理解Python的基础概念,包括: 1. **变量与数据类型**:Python支持多种数据类型,如整型(int)、浮点型(float)、字符串(str)和布尔型(bool)。此外,还有列表(list...

    黑马程序员–Java多线程讲解笔记

    Java多线程是Java编程中不可或缺的部分,它允许程序同时执行多个任务,提高了程序的效率和响应速度。本文主要探讨了多线程的概念、应用场景...因此,理解和掌握Java的多线程技术对于任何Java程序员来说都是至关重要的。

    java并发库高级应用源码--张孝祥

    Java并发库是Java编程中非常重要的一个领域,它为开发者提供了高效、安全的多线程编程工具。在《java并发库高级应用源码--张孝祥》中,我们将会深入探讨Java中的线程管理和并发控制策略,这对于我们理解和优化多线程...

    黑马程序员-Qt讲义.pdf

    Qt提供了多线程编程的支持,包括线程的基本概念介绍、多线程的使用方法和线程安全绘图等。在数据库操作方面,Qt也提供了强大的支持,包括数据库操作的基本概念、使用模型操作数据库和对数据库数据的可视化显示等。 ...

    黑马程序员2018python爬虫课件完整版

    黑马程序员作为知名的IT教育机构,其2018年的Python爬虫课程旨在教授学员如何有效地抓取和处理网络上的信息。在这个完整的课程中,你将深入理解Python爬虫的基本原理,并学习到一系列实用的技巧。 首先,Python之...

    黑马程序员java贪吃蛇源码

    4. **多线程应用** - **游戏主线程**:负责游戏的主循环和逻辑处理。 - **GUI刷新线程**:为了保持流畅的游戏体验,GUI通常在独立的线程中刷新,避免因为更新界面导致游戏暂停。 5. **优化技巧** - **缓冲区策略...

Global site tag (gtag.js) - Google Analytics