当前位置: 首页 > news >正文

各地疫情情况南京网络优化培训

各地疫情情况,南京网络优化培训,立方集团 网站,网易企业邮箱申请一.线程简介 二.创建线程 1.继承Thread类 Thread类中常用的两个构造方法如下: public Thread():创建一个新的线程对象。 public Thread(String threadName):创建一个名称为threadName的线程对象。 继承Thread类创建一个新的线程的语法如下: public …

一.线程简介

二.创建线程 

        1.继承Thread类

Thread类中常用的两个构造方法如下:

public Thread():创建一个新的线程对象。
public Thread(String threadName):创建一个名称为threadName的线程对象。

继承Thread类创建一个新的线程的语法如下:

public class ThreadTest extends Thread{
}

【例20.1】让线程循环打印1~10的数字

代码:

结果:

        2.实现Runnable接口

实现Runnable接口的语法如下:

public class Thread extends Object implements Runnable

Thread类中有以下两个构造方法

public Thread(Runnable target)
public Thread(Runnable target,String name)

这两个构造方法的参数中都存在Runnable实例,使用以上构造方法就可以将Runnable实例与Thread实例相关联。

使用Runnable接口启动新的线程的步骤如下:

(1)建立Runnable对象。
(2)使用参数为Runnable对象的构造方法创建Thread实例。
(3)调用start()方法启动线程。

【例20.2】让窗口中的图标动起来

代码:

结果:

三.线程的生命周期

要使线程处于就绪状态,有以下几种方法:

(1)调用sleep()方法。
(2)调用wait()方法。
(3)等待输入/输出完成。

当线程处于就绪状态后,可以用以下几种方法使线程再次进入运行状态

(1)线程调用notify()方法。
(2)线程调用notifyAll()方法。
(3)线程调用interrupt()方法。
(4)线程的休眠时间结束。
(5)输入/输出结束。

四.操作线程的方法

        1.线程的休眠

sleep()方法的语法如下:

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

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

代码:

结果:

        2.线程的加入

如果当前某程序为多线程程序,假如存在一个线程A,现在需要插入线程B,并要求线程B先执行完毕,然后再继续执行线程A,此时可以使用Thread类中的join()方法来完成。

【例20.4】让进度条A等待进度条B

代码:

结果:

        3.线程的中断

如果线程是因为使用了sleep()wait()方法进入了就绪状态,可以使用Thread类中interrupt()方法使线程离开run()方法,同时结束线程,但程序会抛出InterruptedException异常,用户可以在处理该异常时完成线程的中断业务处理,如终止while循环。

【例20.5】单击按钮停止进度条滚动

代码:

结果:

        4.线程的礼让

Thread类中提供了一种礼让方法,使用yield()方法表示,它只是给当前正处于运行状态的线程一个提醒,告知它可以将资源礼让给其他线程,但这仅是一种暗示,没有任何一种机制保证当前线程会将资源礼让。

五.线程的优先级

线程的优先级可以使用setPriority()方法调整,如果使用该方法设置的优先级不在1~10,将产生IllegalArgumentException异常。

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

代码:

结果:

六.线程同步

        1.线程安全

例,在项目中创建ThreadSafeTest类,该类实现了Runnable接口,在未考虑到线程安全问题的基础上,模拟火车站售票系统的功能代码

代码:

结果:

        2.线程同步机制

                1.同步块

Java中提供了同步机制,可以有效地防止资源冲突。同步机制使用synchronized关键字,使用该关键字包含的代码块称为同步块,也称为临界点,语法如下:

synchronized(Object){}
【例20.7】开发线程安全的火车售票系统

代码:

结果:

                        2.同步方法

同步方法就是在方法前面用synchronized关键字修饰的方法,其语法如下:

synchronized void f(){}

当某个对象调用了同步方法时,该对象上的其他同步方法必须等待该同步方法执行完毕后才能被执行。必须将每个能访问共享资源的方法修饰为synchronized,否则就会出错

修改例20.7的代码,将共享资源操作放置在一个同步方法中,代码如下:

结果:

http://www.hrbkazy.com/news/45024.html

相关文章:

  • 域名解析查询网seo网站推广软件排名
  • 商丘做网站哪家好百度搜索引擎网站
  • 深圳企业网站定制seo推广优势
  • 金堂做网站的公司百度资源共享
  • 长春火车站疫情最新消息可以免费网络推广网站
  • wordpress主题更换字体教程 hu北京seo优化哪家好
  • 西安网站制作推广媒体营销平台
  • php网站病毒系统优化大师
  • 宜州网站建设windows优化大师的优点
  • 网站建设都包含什么步骤站长工具浪潮
  • 青岛哪家做网站的公司好web制作网站的模板
  • 重庆手机网站推广资料关键词搜索站长工具
  • 网站制作功能多少钱怎样在百度发广告贴
  • 哪些做直播卖食品的网站阿里指数app下载
  • 广州建设网站是什么关系把百度网址大全设为首页
  • wordpress文章列表页seo免费视频教程
  • wordpress做的好的网站网站推广沈阳
  • 网页设计在大学属于什么专业短视频排名seo
  • 做网站语言服务器 空间聚合搜索引擎
  • 自制网站除了购买域名还要怎么做今日国际新闻最新消息
  • 小型网站开发高级seo招聘
  • jsp怎么做网站推文关键词生成器
  • 如何保护网站域名免费网站代理访问
  • 广州短视频seo哪家好好口碑关键词优化地址
  • 新疆乌鲁木齐网站seo交流网
  • 网站开发服务商win10优化大师怎么样
  • 公司官网如何更新网站网络推广收费价目表
  • 什么是网站主题优化seo标题优化是什么意思
  • 南京雨花台区做网站微博关键词排名优化
  • 网站开发的趋势青岛网站设计微动力