第二十章 多线程

 20.2创建线程

20.2.1继承Thread类

Thread类是Java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建议Thread实例。

public class ThreadTest extedns Thread{}

run方法格式:

public void run(){}

20.1让线程循环打印1-10

20.2.2实现Runnable类
public class Tread extends Object implements Runnable

20.2让窗口的图标移动

20.3线程的生命周期

20.4操作线程的方法

20.4.1线程的休眠

sleep方法  该时间以毫秒为单位

try{
Thread.sleep(2000);
}catch(InterruptedException e){
e.printStackTrace();
}

20.3每0.1秒绘制一条随机颜色的线条

20.4.2线程的加入

当某个线程使用join()方法加入另一个线程时,另一个线程会等待该线程执行完毕后再继续执行。

20.4让进度条A等待进度条B

20.4.3线程的中断

现在提倡run()方法中使用无限循环的形式,然后使用一个布尔型标记控制循环的停止。

20.5单机按钮停止进度条滚动

20.4.4线程的礼让

yield()方法使具有同样优先级的线程有进入可执行状态的机会,在当前线程放弃执行权会再回到就绪状态。

20.5线程的优先级

每个线程都具有各自的优先级,线程的优先级可以表明在程序中该线程的重要性,如果有会让你多线程处于就绪状态,系统会根据优先级来决定首先使用哪一个线程进入运行状态。

20.6观察不同优先级的线程执行完毕顺序

20.6线程同步

在单线程程序中,每一次只能做一件事情,后面的事情需要等待前面的事情完成后才可以进行,但是如果使用多线程线程,就会发生两个线程抢占资源问题。

20.6.1线程安全
20.6.2线程同步机制

1,同步块

synchronized(Object){
}

2,同步方法

synchronized void f(){}

20.7开发线程安全的火车售票系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/207151.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

static和extern

1.extern extern 是⽤来声明外部符号的,如果⼀个全局的符号在A⽂件中定义的,在B⽂件中想使⽤,就可以使⽤ extern 进⾏声明,然后使⽤。 即在一个源文件中想要使用另一个源文件,即可通过这个extern来声明使用。 2.st…

你了解Postman 变量吗?

变量是在Postman工具中使用的一种特殊功能,用于存储和管理动态数据。它们可以用于在请求的不同部分、环境或集合之间共享和重复使用值。 Postman变量有以下几种类型: 1、环境变量(Environment Variables): 环境变量是在Postman…

thinkphp文件夹生成zip压缩包

一、准备工作&#xff0c;使用phpinfo()查看有没有zip扩展 <?php echo phpinfo(); ?>Thinkphp使用PHP自带的ZipArchive压缩文件或文件夹 显示enabled 说明已经配置好 如果没有安装扩展的&#xff0c;请参照以下方法&#xff1a; 1、下载对应版本的扩展包&#xff1a…

[点云分割] 条件欧氏聚类分割

介绍 条件欧氏聚类分割是一种基于欧氏距离和条件限制的点云分割方法。它通过计算点云中点与点之间的欧氏距离&#xff0c;并结合一定的条件限制来将点云分割成不同的区域或聚类。 在条件欧氏聚类分割中&#xff0c;通常会定义以下两个条件来判断两个点是否属于同一个聚类&…

对接苹果支付退款退单接口

前言 一般而言&#xff0c;我们其实很少对接退款接口&#xff0c;因为退款基本都是商家自己决定后进行操作的&#xff0c;但是苹果比较特殊&#xff0c;用户可以直接向苹果发起退款请求&#xff0c;苹果觉得合理会退给用户&#xff0c;但是目前公司业务还是需要对接这个接口&am…

josef约瑟 电压继电器DJ-132 100~200V柜内板前接线,带附件

DJ-100系列电压继电器 DJ-111电压继电器&#xff1b; DJ-112电压继电器&#xff1b; DJ-121电压继电器&#xff1b; DJ-122电压继电器&#xff1b; DJ-131电压继电器&#xff1b; DJ-132电压继电器&#xff1b; DJ-131/60C电压继电器&#xff1b; DJ-131/60CN电压继电器…

csdn最新最全pytest系列——pytest-xdist插件之多进程运行测试用例|| pytest-parallel插件之多线程运行测试用例

pytest之多进程运行测试用例(pytest-xdist) 前言 平常我们功能测试用例非常多时&#xff0c;比如有1千条用例&#xff0c;假设每个用例执行需要1分钟&#xff0c;如果单个测试人员执行需要1000分钟才能跑完当项目非常紧急时&#xff0c;会需要协调多个测试资源来把任务分成两部…

开源之夏 2023 | Databend 社区项目总结与分享

开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动&#xff0c;旨在鼓励在校学生积极参与开源软件的开发维护&#xff0c;培养和发掘更多优秀的开发者&#xff0c;促进优秀开源软件社区的蓬勃发展&#xff0c;助力开源软件供应链建设。 官…

2022年06月 Scratch(二级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 角色初始位置如图所示,下面哪个选项能让角色移到舞台的左下角? A: B: C: D: </

postman设置接口关联这样做,薪资直接涨3k

postman设置接口关联 在实际的接口测试中&#xff0c;后一个接口经常需要用到前一个接口返回的结果&#xff0c; 从而让后一个接口能正常执行&#xff0c;这个过程的实现称为关联。 在postman中实现关联操作的步骤如下&#xff1a; 1、利用postman获取上一个接口指定的返回值…

【C++】类和对象——构造函数和析构函数

今天要学习两个特殊的函数&#xff0c;分别是构造函数和析构函数&#xff0c;它们究竟有什么用呢&#xff1f; 比如说&#xff0c;我们先写一个简单的日期的类 class Date { public:void Init() {_year 1;_month 1;_day 1;}void Print() {cout << _year << &qu…