第21天 Java中多线程的概念

来源:互联网 发布:手机淘宝怎么输入链接 编辑:程序博客网 时间:2024/06/06 11:37

在说线程之前先提一下进程的概念。
进程是程序的一次执行过程,对应了从代码的加载、执行到执行结束这样一个完整的过程,也是进程从产生、发展到消亡的过程。每个进程在计算机的内存中都对应一段专有的内存空间。现在的操作系统都支持多进程操作。例如:你在听歌的同时可以浏览网页、也可以玩游戏。但是话说回来,线程和进程并不是一回事。
线程是比进程更小的执行单元,单个进程的执行可以产生多个线程。每个线程都有独立的生命周期,同一个进程中的线程共享同样的内存空间,并且通过共享的内存空间来达到数据交换、通信和同步等工作。在基于线程的多任务处理环境中,线程是执行特定任务的最小单位。一个程序可分为多个任务,每个任务都可分配给一个线程来实现。在Java程序启动时,一个进程马上启动,同时该进程会自动启动一个线程的运行,这个线程成为程序的主线程,因为它在程序开始启动后就自动运行。主线程是多线程编程的核心,它是产生其它子线程的线程。在多线程运行时,它是第一个启动的线程,由该线程控制其它线程的启动,执行各种关闭操作。
Java在类和接口方面提供了对线程的内置支持,任何类如果希望能够以线程的形式运行,都需要实现接口java.lang.Runnable;或者继承java.lang.Thread类。Runnable接口只有一个run()方法,实现接口的类必须重写该方法。而Thread类也实现了Runnable接口,但该类有更丰富的方法。Thread类的常用方法包括start()方法、run()方法和join()方法等。start()方法用于启动线程,而run()方法是线程的主体方法,代码完成的功能代码都写在该方法体内。

0 0
原创粉丝点击