暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Java多线程上

初始化 2021-04-11
135

程序(program)

为完成特定的任务、用某种语言编写的一组指令集合


进程(process)

程序执行的一次过程,正在执行的一个程序(进程有它的生命周期)


线程(Thread)

进程可进一步细化为线程,是一个程序内部的一条执行路径


并发与并行

>并发:多个CPU同时执行多个任务

>并行:一个CPU(采用时间片)执行多个任务


创建线程的方式

>方式一:创建一个类继承Thread类,重写Thread类中的run()方法

创建该子类对象,通过该对象.start()方法开启线程

匿名内部类创建线程


>方式二:创建一个类实现Runnable接口,该类实现接口中的run()方法

创建该类的对象,将其作为参数传递Thread构造器中,通过Thread类的对象调用start()方法开启线程

匿名内部类创建线程


模拟窗口卖票

创建三个窗口(三个线程)卖票,门票总数100张,当门票为0时,三个窗口不再买票


>方式一,使用继承Thread类方式创建线程卖票

在main方法中创建子类对线开启线程

三个可开启线程的对象应共有tickets变量内的数据,所以将tickets变量声明为全局静态变量

程序执行结果


>方式二:实现Runnable接口方式创建窗口进行卖票

程序执行结果


比较线程创建的两种方式

实际开发中大多数选择方式二创建线程(实现Runnable接口)


原因:

>实现接口没有单继承的局限性

>实现的方式更适合来处理多个线程共有数据的情况



实用青年




文章转载自初始化,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论