java---多线程

java多线程
1)进程(process)
计算机中独立运行的应用程序。
一块包含了某些资源的内存区域。操作系统利用进程,把他的工作设置为功能单元。
进程还拥有一个私有的虚拟地址空间,仅能被他所包含的线程访问。
2)线程(thread)
进程中所包含的一个或多个执行单元被称为线程。
一个线程是一个进程的一个顺序执行流。
如果一个进程是包含多个线程,我们就称它为多线程。
3)进程与线程的区别
是否存在资源共享。
4)多线程的意义
在一个应用程序中,有多个执行部分可以同步执行。
5)并发
微观上,所有得进程与线程都是走走停停的,而在宏观上,由于相差间隔非常短,就可以将这个过程看作是同时进行的,这个就是并发的理解。
6)线程状态
1、new(新建线程)。
2、Runnable(就绪状态)。
3、Running(运行状态)。
4、Blocked(阻塞状态)。
5、dead(死亡状态)。记住,你永远无法唤醒一个已经死亡的线程。
7)创建线程
1、通过继承Thread类来创建。
2、通过实现Runnable接口来创建。
3、用内部类(匿名)来创建。
4、通过callable与future来创建。
`
public class Text{
public static void main(String[]args){
//实例化
Demo demo = new Demo();
demo.start();//开始线程
}
}
class Demo extends Thread{
public static void run(){
for(int i=0;i<50;i++){
System.out.println(“hello”+"\t"+i);
}
}
}

用Runnable来创建

public class Text1{
public static void main(String[]args){
Thread run = new Thread(new Demo1());
run.start();
}
class Demo1{
public static void run(){
for(int i=0;i<50;i++){
System.out.println(“world”+"\t"+i);
}
}
}
}

最后的用callable与future创建,不常用,在这里就不举例了,感兴趣的读者可以去问问度娘,原理其实大同小异(具体我也没有做过太深入的了解)。
8)Thread提供的方法
	long  getId():返回该线程的标识符 
	String  getName():返回该线程的名称 
	int  getPriority():返回线程的优先级   分为10级。但是级别大,并不意味这先运行。
	Thread.state  getState():获取线程的状态 
	boolean isAlive():测试线程是否处于活动状态 
	boolean  isDaemon():测试线程是否为守护线程    当运行进程停止前,守护进程会先停止。
	boolean  isInterrupted():测试线程是否已经中断 
	(前面是方法的返回格式)。
	sleep方法,是一种阻塞方法,是线程在运行时会根据你的设定而延迟。
	yield方法,静态方法,是线程回到就绪状态。
	join方法,在一个线程运行时,强行插入另一个线程,知道插入的线程运行完毕,初始线程才能够继续执行。
	谢谢观看。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值