`
小牛犊
  • 浏览: 96938 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

多线程基础

    博客分类:
  • Java
阅读更多

参考axman.

1.线程对象和线程的区别

   线程对象是可以产生线程的对象。eg:Thread对象、Runnable对象。

   线程,是指正在执行的一个指令序列。

2.

class BeginClass{
        public static void main(String[] args){
            for(int i=0;i<100;i++)
                System.out.println("Hello,World!");
        }
    }

 

   执行这个程序,JVM进程被启动,在同一个JVM进程中,有且只有一个进程,就是它自己。然后在这个JVM环境中,所有的程序的运行都是以线程来运行的。JVM最先会产生一个主线程,由它来运行指定程序的入口点。在这个程序中,就是主线程从main()方法开始运行,当main方法结束后,主线程运行完成。JVM进程也随之退出。

3.并行和并发

   在单cpu中,要通过不断切换需要运行的线程让其运行的方式叫并发(concurrent)。

   在多cpu中,可以让两个以上的线程同时运行,这种可以同时让两个以上的线程同时运行的方式叫并行(parallel)。

4.java线程对象

   在java中,要开始一个线程,有两种方式。

    (1)直接调用Thread实例的start()方法。

    (2)将Runnable实例传给Thread实例然后调用start()方法。

5.在线程对象myThread(自己实例化的一个对象)上调用join()方法,就是让当前正在执行的线程等待线程对象myThread对应的线程运行完成后才继续运行。

6.通过Thread实例的start(),一个Thread实例只能产生一个线程。

   如果要在一个实例上产生多个线程(也就是我们常说的线程池),通过实现Runnable接口来产生线程对象。

 

7.同一线程对象,多个线程 

public class ThreadTest implements Runnable {
	private int x=0;
	@Override
	public void run() {
			System.out.println(x++);
	}
}

public class RunTest {
	public static void main(String[] args) {
		ThreadTest r=new ThreadTest();
		for(int i=0;i<10;i++){
			new Thread(r).start();
		}
	}
}

 

 

分享到:
评论

相关推荐

    C#多线程基础

    ### C#多线程基础详解 #### 知识点一:多线程概念与优势 在C#中,多线程是指一个程序中同时执行多个线程的能力。一个线程是程序执行的基本单位,每个线程都有自己的指令指针、栈和局部变量,但共享相同的内存空间...

    多线程基础与基于多线程的简单聊天室

    本压缩包“多线程基础与基于多线程的简单聊天室”提供了对多线程技术的实践理解和二次开发的基础。以下是关于这个主题的详细知识点: 1. **多线程的概念**:多线程是指在一个程序中同时执行多个不同的线程,每个...

    多线程基础个人总结思维导图

    在IT行业中,多线程是程序并发执行的一种方式,它极大地提高了系统资源的利用率和程序...在学习过程中,可以参考"多线程基础总结01.bmp"和"多线程基础总结01.mmap"等文件,它们可能提供了更为详细和直观的结构化知识。

    CSharp多线程基础教程

    本教程将深入探讨C#中的多线程基础,包括创建线程、线程同步与通信、线程池以及线程安全等内容。 一、线程创建 在C#中,有两种主要方式来创建线程:使用`System.Threading.Thread`类和使用`System.Threading.Tasks...

    JAVA多线程基础演练DEMO

    这个"JAVA多线程基础演练DEMO"提供了一些基础示例,帮助开发者更好地理解和掌握多线程的基本概念和用法。以下将详细讲解Java多线程的相关知识点: 1. **线程的创建** - **继承Thread类**:创建一个新类,继承自`...

    多线程基础知识

    通过学习和掌握这些多线程基础知识,开发者能够编写出更加高效、稳定的并发程序,提升软件系统的性能和用户体验。同时,对多线程深入理解也有助于应对面试中的技术考察,为职业生涯的晋升铺平道路。

    java多线程基础资料

    Java多线程是Java编程中的一个...以上只是Java多线程基础知识的一部分,深入学习还包括线程池的配置与优化、线程安全的设计模式、并发工具类的使用等。理解和掌握这些知识点对于编写高效、稳定的多线程程序至关重要。

    C#多线程基础教程

    C#多线程是编程中的重要概念,尤其在开发高性能...总的来说,理解和掌握C#多线程基础知识对于编写高效、健壮的程序至关重要。在实际开发中,应合理利用多线程,注意线程安全,避免潜在的问题,提升软件的稳定性和性能。

    MFC多线程基础解析及例子

    **多线程基础** 多线程是指在一个进程中可以同时运行多个独立的执行流,每个执行流被称为一个线程。在MFC中,我们可以使用`CWinThread`类来创建和管理线程。`CWinThread`是MFC对Windows API中的`_beginthreadex`和`...

    java多线程基础篇讲解

    Java多线程基础篇讲解是针对初学者设计的教程,旨在用简洁明了的语言帮助学习者更容易理解多线程的概念和应用。多线程编程在现代计算机系统中扮演着重要角色,尤其在CPU主频发展遇到瓶颈的情况下,通过超线程技术和...

    多线程基础代码.rar

    "多线程基础代码.rar"这个压缩包文件很可能是包含了一些关于多线程编程的基础示例代码,用于帮助初学者理解和实践多线程技术。 多线程允许一个应用程序同时执行多个不同的任务,每个任务被称为一个线程。在Java、C#...

    头歌java多线程基础介绍.doc

    头歌java多线程基础 “头歌”是一个在线教育平台,提供包括Java在内的多种编程语言的在线学习资源和课程。Java多线程基础是学习Java编程中非常重要的一部分,它涉及到如何同时运行多个任务,以充分利用现代多核...

    多线程基础部分.md,学习代码

    我们将围绕标题“多线程基础部分”展开,结合描述和标签,重点关注Java中的多线程、软件设计以及并发编程的相关概念。 首先,让我们理解什么是多线程。在计算机科学中,线程是程序执行的基本单位,一个进程可以包含...

    java多线程基础知识

    Java多线程基础知识 Java多线程基础知识是Java编程语言中的一项重要技术,用于提高程序的执行效率和响应速度。在这里,我们将详细介绍Java多线程基础知识的相关概念和技术。 一、程序、进程和线程 程序(Program...

    多线程基础总结.xmind

    多线程基础理论, 多线程中常用API,多线程的实现方式, 线程池以及创建线程池相关API, 常见的设计模式等内容

    C#多线程基础教程--

    本教程将深入探讨C#中的多线程基础知识,以及如何通过实例来实现线程的控制和通信。 首先,我们需要理解线程的基本概念。在操作系统中,线程是执行单元,它代表程序的一个执行流程。每个线程拥有自己的栈空间,用于...

    VC++多线程基础编程源程序

    对于初学者来说,理解并掌握多线程基础编程至关重要,因为这能帮助他们构建更加高效和复杂的软件系统。在这个"VC++多线程基础编程源程序"中,我们将探讨如何利用Visual Studio 2008来实现多线程功能,特别是通过创建...

    Java多线程干货系列(1)Java多线程基础编程开发技术

    Java多线程是Java编程中的重要...以上内容仅涵盖了Java多线程基础编程的一部分知识点,实际开发中还需要关注更多的并发控制策略、性能优化和调试技巧。对于深入理解Java多线程,还需要学习和实践更多相关的高级特性。

    C# 多线程基础练习

    C# 多线程基础练习,需要学习多线程的小伙伴们快来下载吧

Global site tag (gtag.js) - Google Analytics