For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
线程是程序员在学习java编程开发语言的时候需要重点掌握的一个编程知识,下面我们就通过案例分析来了解一下,java编程线程创建与操作实践步骤。
一、创建线程方式
java创建线程的方式,主要有三种:类Thread、接口Runnable、接口Callable。
1、Thread和Runnable进行比较
他们之间的区别
1、实现Runnable的类更具有健壮性,避免了单继承的局限。
2、Runnable更容易实现资源共享,能多个线程同时处理一个资源。
不过对于共享数据而言,使用继承Thread,同样可以实现多线程同时处理同一个资源。
2、Runnable和Callable区别
两者大的不同点是:
(1)实现Callable接口的任务线程能返回执行结果;而实现Runnable接口的任务线程不能返回结果;
(2)Callable接口的call()方法允许抛出异常;而Runnable接口的run()方法的异常只能在内部消化,不能继续上抛;
二、操作线程方法
有关生命周期相关的方法,放在下一篇文章中,写,这篇主要讲start()和run()方法
1、start():它的作用是启动一个新线程。
通过start()方法来启动的新线程,处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行相应线程的run()方法,这里方法run()称为线程体,它包含了要执行的这个线程的内容,run方法运行结束,此线程随即终止。
2、run():就和普通的成员方法一样,可以被重复调用。
如果直接调用run方法,并不会启动新线程!程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行。
3、start和run区别
(1)start()可以启动一个新线程,run()不能。
(2)start()不能被重复调用,run()可以。
(3)start()中的run代码可以不执行完就继续执行下面的代码,即进行了线程切换。直接调用run方法必须等待其代码全部执行完才能继续执行下面的代码。
(4)start()实现了多线程,run()没有实现多线程。
4、getName和setName
用来得到或者设置线程名称。
5、getPriority和setPriority
用来获取和设置线程优先级。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。