- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Java语言基础
第十三章线程主讲:李春梅
File类流的概念流的分类上章回顾
线程的概念Java中线程的使用线程的状态线程同步问题notify方法和wait方法本章内容
什么是线程在一个程序中同时运行的多个独立流程,每一个独立的流程就是一个线程线程并发多个线程并发执行主线程当JVM启动之后,加载类文件,发现main方法,那么就会为main方法创建一个线程,用于main方法执行,这个为main方法创建的线程称为主线程线程的概念
在Java中创建线程的方法有两种方法一继承java.lang.Thread类方法二实现java.lang.Runnable接口Java中线程的使用
继承Thread类1.自定义一个线程类继承自Thread2.重写Thread的run方法3.在主方法中创建一个该类的对象4.调用该类继承自Thread的start()方法开启线程Java中线程的使用
线程的使用
线程的使用
Runnable接口开发线程用户开发一个类实现Runnable接口实现run()运行线程线程的使用
线程的使用
线程的使用
初始状态可运行状态运行状态终结状态线程的状态
voidsleep(longtime)方法用于使当前线程休眠指定的毫秒数sleep方法
一旦调用了sleep方法,该线程就由运行状态进入了阻塞状态sleep对线程状态的影响
利用sleep方法对线程的控制是非常不精确的join方法可以精确控制线程join方法也会导致线程阻塞特点:如果当前线程中调用了另外一个线程的join方法,当前线程会立即阻塞,直到另外一个线程运行完成join方法的使用
join方法的使用
join方法的使用
join方法的使用
join方法的问题如果2个线程彼此调用对方的join方法,会导致程序无法进行。解决办法publicfinalvoidjoin(longmillis) throwsInterruptedExceptionjoin方法使用
客户存取款多线程实例
产生数据不一致的原因多个线程并发访问了同一个对象,如果破坏了不可分割的操作,从而就会造成数据不一致被多线程并发访问时如果一个对象有可能出现数据不一致的问题,那么这个对象称为线程不安全的对象线程同步
如何解决多线程并发访问的问题synchronized(object){代码块}线程同步
线程同步
线程同步
死锁
解决死锁
商品类生产者消费者问题
生产者类生产者消费者问题
消费者类生产者消费者问题
生产者消费者问题
程序主类生产者消费者问题
线程的概念线程的创建线程的状态线程同步本章总结
用两种方式实现两个线程,一个线程负责打印1-2600,另一个线程打印A-Z,反复打印100遍作业
文档评论(0)