77范文网 - 专业文章范例文档资料分享平台

corejava学习总结(8)

来源:网络收集 时间:2019-06-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

中的方法所声明异常类或者是它的子类。

// public void test() throws IOException{}//正确

// public void test() throws FileNotFoundException{}//正确 public void test(){}//默认继承了父类的异常声明方式 }

6.4 ()和printStackTrace(PrintWriter out)

p() 它是把错误打印到控制台。

printStackTrace(PrintWriter out)是把错打到输出到打印流中。

示例:

package com.summary.exception; import java.io.FileNotFoundException; import java.io.PrintWriter; public class ExceptionDemo { }

public static void main(String[] args){ test();} public static void test(){ }

int a = 3;

PrintWriter out = null; try {

out = new PrintWriter(\创建一个打印流对象 if(a > 1){throw new MyException(\出錯了!\

else{throw new IllegalArgumentException(\不大于1!\

} catch (FileNotFoundException e1) {e1.printStackTrace(); }catch(MyException e){

e.printStackTrace(out);//会把错误输出到exception.txt这个文件中去 out.flush();

}finally{ out.close();}

6.5 异常链

第七章 多线程

6.1 进程与线程的区别

进程是一个应用,它是独占所分配的资源的,是的不会和其它的进程去共享的。例如,

我们使用QQ聊天时,QQ就是操作系统的一个进程,这个时候也你可能会去打开浏览器,去看下新闻或者其它什么的。这个时候浏览器也成为了操作系统里的另外一个进程,操作系统会为QQ和浏览器分配各自所要资源,它们之间的资源是不会共享的。

线程是一个应用为了去完成某种特定任务而去执行的程序片段。它包含在进程之内,线程与线程之间是共享资源的。例如,我们去打开一个或多个QQ聊天窗口时,QQ这时就会为我们启动一个或几个QQ聊天窗口线程。一个浏览器中可能会打开多个标签页,这时也就启动了几个线程。

6.2 同步与异步

同步: 一个线程必须等到另一个线程把所占有的资源使用完了之后,才能接着去使用这个资源

异步:两个线程在同一时间点去抢同一个资源。

6.3 并发与并行

并发:

在一个时间片内有一个以上的线程在运行

并行:

同一个时间点中有一个以上的线程在运行

6.4 java中的线程

实现线程的三种方式: 1.继承Thread类 示例:

package com.summary.thread;

public class ThreadDemo extends Thread{

public static void main(String[] args) { }

Thread t = new Thread(); t.start();

}

public void run(){

System.out.println(\一个线程在运行了。\ ); }

2.实现Runnabel接口 package com.summary.thread;

public class RunnableDemo implements Runnable{ }

@Override

public void run() {//线程体

System.out.println(\这是通过实现Runnable接口而产生的线程!\ ); }

public static void main(String[] args) {

RunnableDemo rd = new RunnableDemo();

Thread t = new Thread(rd);//需要把实现Runnable接口的实例化对象做为参数传入

t.start();//启动线程 }

3.使用匿名内部类实现线程: new Thread(){

public void run(){ }

System.out.println(\内部类实现线程方式1!\

}.start();

new Thread(new Runnable(){ });

public void run(){ }

System.out.println(\内部类实现线程方式2!\

6.5 Thead与Runnable接口实现线程的区别与联系

区别:

通过继承Thread来实现的线程之间,是不能共享资源的,而通过实现Runable接口来实现的线程之间

是可共享资源的。具体请下面的示例:

package com.summary.thread;

public class TicketsThreadDemo extends Thread{ }

private int tickets = 4;//票数

public static void main(String[] args) { }

TicketsThreadDemo ttd1 = new TicketsThreadDemo(); TicketsThreadDemo ttd2 = new TicketsThreadDemo(); TicketsThreadDemo ttd3 = new TicketsThreadDemo(); ttd1.start(); try { }

ttd2.start(); ttd3.start();

Thread.sleep(100);

// TODO Auto-generated catch block e.printStackTrace();

} catch (InterruptedException e) {

public void run(){ }

while(true){ }

if(tickets > 0){

tickets--;

System.out.println(\ + tickets); break;

}else

执行结果:

tickets : 3 tickets : 2 tickets : 1 tickets : 0 tickets : 3 tickets : 3 tickets : 2 tickets : 2 tickets : 1 tickets : 0 tickets : 1 tickets : 0

package com.summary.thread;

public class TicketsRunnableDemo implements Runnable{ }

@Override

public void run() { }

while(true){

if(tickets > 0){

tickets--;

System.out.println(\ + tickets); break;

private int tickets = 4;//票数

public static void main(String[] args) { }

TicketsRunnableDemo trd = new TicketsRunnableDemo(); Thread t1 = new Thread(trd); Thread t2 = new Thread(trd); Thread t3 = new Thread(trd); t1.start(); try { }

t2.start(); t3.start();

Thread.sleep(100);

// TODO Auto-generated catch block e.printStackTrace();

} catch (InterruptedException e) {

}else

}

执行结果:

tickets : 3 tickets : 2 tickets : 1 tickets : 0

联系:

下面我们来看下Thread类的源码:

public class Thread implements Runnable {//Thread类实现了Runnable接口 private Runnable target; public Thread() {

init(null, null, \ + nextThreadNum(), 0);

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库corejava学习总结(8)在线全文阅读。

corejava学习总结(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/650989.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: