第16章 多线程基础(01)

世间很多事情都是可以同步进行的,所以Java模仿这种原理,引入了线程机制。当程序完成多个程序时,就是多线程机制。
1.1线程的含义?
用户既可以使用计算机听歌,也可以使用它打印文件,这些活动可以同时进行。这种思想在Java中被称为并发,而将并发完成的
每一件事情称为线程。
Java提供并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其他线程并发执行,这种机制称为多线程。
1.2线程在计算机中的呈现?
Windows操作系统操作系统是多任务操作系统,以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称之为
进程,也就是正在执行的程序。系统可以分配给每个进程一段有限的使用CPU的程序(也可称为CPU时间片),CPU在这段时间内执行某个
进程,然后下一个时间片又跳至另一个进程去执行,由于CPU转化过快,所以使得每个进程的好像是同时执行一样。
执行模式:
    进程1——————》在CPU执行进程2的时间片内——————》进程3
一个进程则是进程中的执行流程,一个进程包含多个线程,每个线程也可以得到一小段程序的执行时间,这样一个进程就可以具有多
个并发执行的线程。在单线程中,程序代码按照调用顺序依次往下执行,如果需要一个进程同时完成多段代码的操作,就需产生多
线程。

2.1实现线程的两种方式
提供了两种方式:分别继承java.lang.Thread类和java.lang.Runnable接口。
1)继承Thread类:提供了两种构造方法:
                public Thread(String threadName);创建一个名称为threadName的线程对象。
                public Thread(); 
    继承class ThreadTest extends Thread{}就可以创建一个新线程。
完成线程的功能放在类的run方法中,然后使用start方法执行线程。如果不调用start方法,这个线程就不会被启动。在主方法没有调用这个start方法
之前,Thread对象只是一个实例,而不是一个真正的线程。
2)实现Runnable接口
    如果程序员需要继承其他类(非Thread类)并使该程序可以使用线程,就需要使用Runnable接口。例如:一个扩展JFrame类的GUI程序不可能再继承
Thread类,因为Java语言不支持多继承。这时该类就需要实现Runable接口使其具有使用线程的功能。
实现Runnable接口的语法:
    public class Thread extends Object implements Runnable
备注:在API中,可以发现Thread类已经实现了Runnable接口,其中的run方法正是对Runnable接口中的run方法的具体实现。

实现Runnable接口的程序会创建一个Thread对象,并将Runnable对象与Thread对象相关联。
Thread的两个构造方法:  public Thread(Runnable r)
            public Thread(Runnable r,String name)
    这两个构造方法的参数中都存在Runnable实例。使用以上构造方法可以将Runnable实例与Thread实例进行关联。
    使用Runnable接口启动新的线程的步骤如下:
    (1)建立Runnable对象
    (2)使用参数为Runnable对象的构造方法创建Thread实例。
    (3)调用start()方法启动线程。
    备注:先书写一个类实现Runnable接口,之后实例化该类对象,接下来,使用相应的构造方法创建Thread实例。之后使用该实例中的Start()启动
线程。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值