




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
13CPUCPUJava使用的为抢占式调度。{String(Stringname){=name;}void for(inti=1;i<=20;i++{String(Stringname){=name;}void for(inti=1;i<=20;i++{}}voideat()for(inti=1;i<=20;i++) }}}classclassThreadDemopublicstaticvoidmain(Stringargsp=new System.out.println("听完歌吃完饭了,该睡觉了}}dos窗口会看到不停的输出”xx在吃第几口饭”,这样的语句。为什ThreadThread是程序中的执行线程。Java法是将类为Thread的子类。该子类应重写Thread类的run方法。创建对象,开启线程。runmain另法是一个实现Runnable接口的类。该类然后实现run方法。然后RunnableThreadrunpublicpublicclassDemo01publicstaticvoidmain(String[]args)MyThreadmtnewMyThread("//在主方法中执行forfor(inti=0;i<10;i++){}}}publicpublicclassMyThreadextendsThreadpublicMyThread(Stringname//调用父类的String}*重写runpublicvoidrun()for(inti=0;i<10;i++){}}}runstartrunstart开启线程,jvm调用run方法在开启的线程中执行。ThreadThread类?startThreadThreadt1=new在新的线程中运行起来了,但是我们直接创建Thread对象,调用start方法,该start调用的是们需要让线程执行的代码。[javarun方法执行什么代码,所有没写run方法]startrun方法呢?run方法中。所以想要一个新线程执行我们的任务,必须先要开启线程,start方法,再由线程自动run方法,run方法--------肯定程对象中,我们查阅一下Thread的主线程的线程对象是你创建的吗?很明显不是,JVMThread类的API文档发现有个方法是获取当前正在运行的线程对象。还classMyThreadclassMyThreadextendsThread{//继承//复写其中的runpublicvoidfor(inti=1;i<=20;i++){}}}classThreadDemopublicstaticvoidmain(String[]args)MyThreadd1=newMyThread();MyThreadd2=newD1.start();//没有开启新线程在主线程调用rund2.start();//开启一个新线程,新线程调用run}}字顺延。如Thread-1......创建线程方式—Runnable创建线程的另法是实现Runnable接口的类。该类然后实现run方法。然Runnable的子类对象,传入到某个线程的构造方法中,开启线程。Runnable接口,RunableAPIRunnable接口说明文档:Runnable接口用来指定每个线程要执行的任务。包含了一个run的无参数抽象方法,需要由接口实现类重写该方法。1Runnable2run3ThreadpublicpublicclassDemo02publicstaticvoidmain(String[]args)Runnablerunn=new//将Runnable接口的子类对象作为参数传递给ThreadThreadthread=newThread(runn);Threadthread2=newThread(runn);for(inti=0;i<10;i++){}}}publicpublicclassMyRunnableimplements//定义线程要执行的runpublicvoidrun()for(inti=0;i<10;i++){}}}Runnable的原理和第式继承Thread类,线程对象和线程任务耦合在一起。一旦创建Thread类的runnableRunnable类型。RunnablenewnewThread()publicvoidrun()for(intx=0;x<40;x++){+"...X...."+}}RunnableRunnabler=newRunnable()publicvoidrun()for(intx=0;x<40;x++){+"...Y...."+}}new院要卖票,我们模拟院的卖票过程。假设要的是“功夫熊猫3”,本次的座位共100个(本场只能卖100)。口一起卖这100)publicpublicclassThreadDemopublicstaticvoidmain(String[]args)Ticketticket=new//3Threadt1=newThread(ticket,1");Threadt2=newThread(ticket,2");Threadt3=newThread(ticket,}}publicpublicclassTicketimplementsRunnable//100intticket=publicvoidrun()if(ticket>0)trytry}catch(InterruptedExceptione){}System.out.println(Thread.currentThread().getName()+"正在卖票:"+ticket--);}}}}0、-线程同步(java中提供了线程同步机制,它能够解决上述的线程安全问题。同步代码块(同步锁synchronized锁对象}同步代码块:在代码块上synchronized锁对象} publicpublicclassTicketimplementsRunnableintticket=Objectlock=newObject();publicvoidrun()synchronizedlock){if(ticket>0) try}catch(InterruptedExceptione){}"正在卖票ticket}}}}}publicpublicsynchronizedvoid} publicpublicclassTicketimplementsRunnable//100intticket=Objectlock=newObject();publicvoidrun()}}//同步方法,锁对象publicsynchronizedvoidif(ticket>0)try}catch(InterruptedExceptione){}System.out.println(Thread.currentThread().getName()+"正在卖票:"+ticket--);}}}静态同步方法:在方法上加上staticpublicpublicstaticsynchronizedvoid}静态同步方法中的锁对象是类名LockAPILock接口描述,Locksynchronized方法和语classclassXprivatefinalReentrantLocklock=newReentrantLock();publicvoidrun(){lock.lock();//blockuntilconditionholdstry{//...method}finally}}}publicclassTicketimplementsRunnable//100intpublicclassTicketimplementsRunnable//100intticket=//创建LockLockck=newpublicvoidrun()//sync
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 亚信科技web笔试题及答案
- 新员工10分钟个人述职报告
- 文本效果教程12扫光字效果
- 2025年大学辅导员招聘:教育心理专项心理测评试题试卷
- 2025年宠物训导师职业能力测试卷:宠物训练课程研发与创新
- 2025年专升本艺术概论考试模拟卷:艺术教育实践案例解析与拓展训练题库
- 2025版小学语文毕业升学全真模拟卷-口语表达技巧提升试题解析
- 2025年中学教师资格考试《综合素质》核心考点特训题库(含答案)之教育研究综合题
- 2025年专升本艺术概论考试模拟卷(艺术传播媒介法规)
- 建筑外墙保温装饰一体板规范
- 《长方形和正方形》 完整版课件
- 房地产抖音短视频培训课件
- 《乘法交换律和结合律》教学课件数学四年级下册
- 趣味数学-高斯求和 完整版课件
- 花卉生产设施课件
- 高中体育与健康人教版高中必修全一册(新课标)第十章体操类运动-技巧模块计划
- 云南省主要矿产资源
- 临床试验疑难问题解答
- 健康状况询问与接种禁忌核查表
- 新电务系统作业标准汇编一1现场信号工
- 光伏发电工程施工组织设计施工工程光伏发电工程光伏发电施工组织设计
评论
0/150
提交评论