java多线程,集合框架(附简单代码)

java多线程,集合框架(附简单代码)

ID:14855247

大小:201.20 KB

页数:8页

时间:2018-07-30

java多线程,集合框架(附简单代码)_第1页
java多线程,集合框架(附简单代码)_第2页
java多线程,集合框架(附简单代码)_第3页
java多线程,集合框架(附简单代码)_第4页
java多线程,集合框架(附简单代码)_第5页
资源描述:

《java多线程,集合框架(附简单代码)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、■多进程与多线程多进程:在操作系统中能(同时)运行多个任务(程序);多线程:在同一个应用程序中有多个顺序流(同时)执行。■创建线程的方法:方式一:定义一个线程类,它继承类Thread并重写其中的方法run(),方法run( )称为线程体;由于Java只支持单继承,用这种方法定义的类不能再继承其他类。1、FirstThread.java文件:publicclassFirstThreadextendsThread{publicvoidrun(){for(inti=0;i<100;i++){System.o

2、ut.println("FirstThread->"+i);}}}2、Test.java文件:publicclassTest{publicstaticvoidmain(String[]args){//生成线程类的对象FirstThreadft=newFirstThread();//启动线程ft.start();//千万不能写成这样:ft.run();for(inti=0;i<100;i++){System.out.print("main-->"+i);}}}方式二:提供一个实现接口Runnable的类

3、作为线程的目标对象,在初始化一个Thread类或者Thread子类的线程对象时,把目标对象传递给这个线程实例,由该目标对象提供线程体。1、RunnableImpl文件:publicclassRunnableImplimplementsRunnable{publicvoidrun(){for(inti=0;i<20;i++){System.out.println("Runnable-->"+i);}}}2、testOne文件:publicclasstestOne{publicstaticvoidmain

4、(String[]args){//TODOAuto-generatedmethodstub//生成一个Runnable接口实现类的对象RunnableImplri=newRunnableImpl();//生成一个Thread对象,并将Runnable接口实现类的对象//做为参数传递给该Thread对象Threadt=newThread(ri);//通知Thread对象,执行start()方法t.start();}}<线程的简单控制方法:中断线程:--Thread.sleep()--Thread.yie

5、ld()//线程自动让出CPU,再进入线程抢占状态设置线程的优先级:--getPriority()--setPriority()publicclassRunnableImplimplementsRunnable{publicvoidrun(){for(inti=0;i<20;i++){System.out.println("Runnable-->"+i);if(10==i){try{Thread.sleep(2000);}catch(Exceptione){System.out.print(e);}}

6、}}}设置线程优先级:publicclasstestOne{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//生成一个Runnable接口实现类的对象RunnableImplri=newRunnableImpl();//生成一个Thread对象,并将Runnable接口实现类的对象//做为参数传递给该Thread对象Threadt=newThread(ri);//线程的优先级最大为10,最小为1t.setPriorit

7、y(Thread.MAX_PRIORITY);//Thread.MIN_PRIORITY[1,10]//通知Thread对象,执行start()方法t.start();System.out.print(t.getPriority());}}<线程同步:1、MyThread.java文件:classMyThreadimplementsRunnable{inti=20;publicvoidrun(){while(true){synchronized(this){//同步锁System.out.printl

8、n(Thread.currentThread().getName()+i);i--;Thread.yield();if(i<0){break;}}}}}2、Test.java文件:publicclasstestOne{publicstaticvoidmain(String[]args){MyThreadmyThread=newMyThread();//生成两个Thread对象,但是两个对象公用同一个线程体Threadt1=newThread(myThre

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

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

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