-
Actor.java:
public class Actor extends Thread {
@Override
public void run() {
super.run();
System.out.println(getName()+"是一个演员!");
int count = 0;
System.out.println(getName()+"登台演出了"+ (++count) +"次!");
System.out.println(getName()+"演出结束!");
}
public static void main(String[] args) {
Thread actor = new Actor();
actor.setName("Gwoniu");
actor.start();
}
}查看全部 -
隋唐演义:
查看全部 -
1、Java对线程的支持
2、线程的创建和启动
3、线程的常用方法
4、如何停止线程
查看全部 -
线程->进程
线程:
1、互斥
2、同步
查看全部 -
什么时候用Thread创建线程 什么时候又用Running接口创建线程呢
由于java是单继承的语言,所以在已经继承了其他类又想同时实现线程操作的时候就可以实现runable接口。如下代码所示,实现了runable接口的类(runner1是这个类的实例)在开启新线程的时候还是需要thread来辅助的
Thread thread1 = new Thread(runner1);
thread1.start();
查看全部 -
线程常用方法
查看全部 -
Thread
查看全部 -
死锁-------
查看全部 -
Thread常用方法
查看全部 -
Thread的常用方法
查看全部 -
Thread常用方法
查看全部 -
线程常用方法
查看全部 -
thread 类
runnable接口
lang包
run方法
查看全部 -
stop方法已经不再使用,通过设置退出旗标进行线程的停止
查看全部 -
Concurrent
查看全部 -
Locks & Condition
查看全部 -
Java Memory Mode
查看全部 -
互斥与同步
查看全部 -
synchronized
查看全部 -
java线程中start和run方法的区别
Start:
用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的 start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到spu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。Run:
run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。
在同一时间,同一处理器或同一个核只能运行一条线程,当一条线程休眠之后,另一条线程才获得了我们处理器的时间
2.Runnable接口之中没有getName方法,我们可以使用Thread的静态方法currentThreat().getName()获取该对象的名字。
3.若实现接口通过Thread.currentThread().getName()方法获取当前线程名称,继承Thread则getName()方法获取当前线程名称
继承Thread和实现Runnable其区别主要在于共享数据,Runnable接口是可以共享数据的,多个Thread可以同时加载一个Runnable,当各自Thread获得CPU时间片的时候开始运行Runnable,Runnable里面的资源被共享。
不管是继承Thread还是实现Runnable接口我们都可以创建线程。在实际开发中大多数情况下是实现Runnable接口的,因为它可以共享数据。
查看全部 -
资源竞争.
查看全部 -
资源竞争.
查看全部 -
valatile 解决字段可见性
查看全部
举报