Java线程

一.概念:

线程是程序内一条执行路径

1.进程和线程:

进程是我们执行程序系统为我们分配的区域,  不能工作,  真正工作的是这个区域中的线程, ==>所有的代码都是由线程执行的!

2.并行和并发

并行:单位时间片, 同时在执行任务

并发:单位时间片, 在交替执行

结论:java程序都是并发执行的

二.线程的第一种方式

1.定义类型继承Thread

2.重写run方法, 将要执行的任务放到run方法中

3.创建线程子类对象, 调用start方法启动线程

三.线程的第二种方式

1.定义类型实现Runnable接口

2.重写run方法, 将要执行的任务放到run方法中

3.创建Runnable的实现类类对象

4.创建Thread对象将Runnable的子类传入, 调用start方法开启线程

四.功能

getName()  setName();获取线程的名字和设置线程的名字

static Thread  currentThread();解决第二种方式实现线程的尴尬,   可以获取正在执行的线程对象

static void sleep(long time);让当前线程处理睡眠状态

void join();插队的意思, 那条线程调用这个join, 内部会有队列, 这个执行不完, 不会开启其他线程

void setDeamon(boolean flag)true, 代表设置当前线程为守护线程

五.注意事项:

开启线程一定是调用start方法才能开启, 不能调用run,当我们调用start方法, 底层会调用本地方法start0开启线程, 系统会为这条线程分配独立的栈空间,  cpu就可以在这多个栈空间中交替执行代码, 相互不影响

你可能感兴趣的:(java,jvm,开发语言)