java多线程介绍_java多线程介绍(一)

一、线程的相关介绍:

进程:正在运行的程序,负责了这个程序的内存空间分配,代表了内存中的执行区域。

线程:就是在一个进程中负责一个执行路径。

多线程:就是在一个进程中多个执行路径同时执行。

二、多线程的好处:

1、解决了一个进程里面可以同时运行多个任务(执行路径);

2、提高了资源利用率(注意不是提高效率)。

三、多线程的弊端:

1、降低了进程中一个线程的执行频率;

2、对多线程的管理需要额外的cpu资源消耗,多线程的使用会给系统带来上下文切换的额外负担;

3、线程安全问题(多个线程对公有变量进行写操作时,后一个线程会修改掉前一个线程存放的数据);

4、线程死锁。

四、多线程的实现

方式一:继承Thread类并重写run方法。

packagecn.itcast.thread;class DemoThread extendsThread {publicDemoThread(String name) {super(name);

}

@Overridepublic voidrun() {

System.out.println(Thread.currentThread().getName());

}

}public classDemo {public static voidmain(String[] args) {

DemoThread th1= new DemoThread("线程1");

DemoThread th2= new DemoThread("线程2");

th1.start();

th2.start();

}

}

方式二:使用Runable接口

packagecn.itcast.thread;class DemoThread implementsRunnable {

@Overridepublic voidrun() {

System.out.println(Thread.currentThread().getName());

}

}public classDemo {public static voidmain(String[] args) {

DemoThread th1= newDemoThread();

Thread t1= newThread(th1);

DemoThread th2= newDemoThread();

Thread t2= newThread(th2);

t1.start();

t2.start();

}

}

五、线程状态

创建-->可运行-->运行(临时阻塞)-->死亡

创建:新创建了一个线程对象。

可运行:线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取cpu的执行权。

运行:就绪状态的线程获取了CPU执行权,执行程序代码。

阻临时塞: 阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到线程进入就绪状态,才有机会转到运行状态。

死亡:线程执行完它的任务时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值