java线程组基础入门

java线程组基础入门

ID:9187867

大小:21.09 KB

页数:18页

时间:2018-04-21

java线程组基础入门_第1页
java线程组基础入门_第2页
java线程组基础入门_第3页
java线程组基础入门_第4页
java线程组基础入门_第5页
资源描述:

《java线程组基础入门》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1线程组MyRunnable.javapackagecn.itcast_06;publicclassMyRunnableimplementsRunnable{@Overridepublicvoidrun(){for(intx=0;x<100;x++){System.out.println(Thread.currentThread().getName()+":"+x);}}}ThreadGroundDemo.javapackagecn.itcast_06;/**线程组:把多个线程组合到一起。*它可以对一批线程进行分类管理,Java允许程序

2、直接对线程组进行控制。*/publicclassThreadGroupDemo{publicstaticvoidmain(String[]args){//method1();//我们如何修改线程所在的组呢?//创建一个线程组//创建其他线程的时候,把其他线程的组指定为我们自己新建线程组method2();//t1.start();//t2.start();}privatestaticvoidmethod2(){//ThreadGroup(Stringname)ThreadGrouptg=newThreadGroup("这是一个新的组")

3、;MyRunnablemy=newMyRunnable();//Thread(ThreadGroupgroup,Runnabletarget,Stringname)Threadt1=newThread(tg,my,"林青霞");Threadt2=newThread(tg,my,"刘意");System.out.println(t1.getThreadGroup().getName());System.out.println(t2.getThreadGroup().getName());//通过组名称设置后台线程,表示该组的线程都是后台线

4、程tg.setDaemon(true);}privatestaticvoidmethod1(){MyRunnablemy=newMyRunnable();Threadt1=newThread(my,"林青霞");Threadt2=newThread(my,"刘意");//我不知道他们属于那个线程组,我想知道,怎么办//线程类里面的方法:publicfinalThreadGroupgetThreadGroup()ThreadGrouptg1=t1.getThreadGroup();ThreadGrouptg2=t2.getThreadGr

5、oup();//线程组里面的方法:publicfinalStringgetName()Stringname1=tg1.getName();Stringname2=tg2.getName();System.out.println(name1);System.out.println(name2);//通过结果我们知道了:线程默认情况下属于main线程组//通过下面的测试,你应该能够看到,默任情况下,所有的线程都属于同一个组System.out.println(Thread.currentThread().getThreadGroup().g

6、etName());}}2生产者消费者GetThread.javapackagecn.itcast_07;publicclassGetThreadimplementsRunnable{privateStudents;publicGetThread(Students){this.s=s;}@Overridepublicvoidrun(){while(true){s.get();}}}SetThread.javapackagecn.itcast_07;publicclassSetThreadimplementsRunnable{privat

7、eStudents;privateintx=0;publicSetThread(Students){this.s=s;}@Overridepublicvoidrun(){while(true){if(x%2==0){s.set("林青霞",27);}else{s.set("刘意",30);}x++;}}}Student,javapackagecn.itcast_07;publicclassStudent{privateStringname;privateintage;privatebooleanflag;//默认情况是没有数据,如果是t

8、rue,说明有数据publicsynchronizedvoidset(Stringname,intage){//如果有数据,就等待if(this.flag){try{this.wait();}catch(I

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。