Java多线程笔记

随着多核CPU的产生,多线程应用程序在程序开发过程中的作用越来越重要了。所谓多线程就是一个进程任务又多个线程并发完成,这就像日常生活中,将一项任务划分成若干子任务,并发的执行,这样不仅提高了程序的相应特性,而且提高了资源的利用率。但是滥用多线程也同样会导致问题的产生,比如降低程序的执行效率。所以我们应该面对的具体任务来进行具体分析。对于那些可以并发执行的任务,我们可以考虑使用多线程编程来提高程序的响应。但是对于那些不能并发执行的任务就不要使用多线程来解决。

1.多线程的实现方式

多线程的实现方式有两种分别是继承Thread类和实现Runnable接口。这两种实现方式各有优缺点,我们经常用的实现方式还是第二种。原因是根据Java单继承的语法特点,若线程子类继承了Thread类的话,它就无法再去继承别的父类,这将大大限制子类的应用。但是对于实现Runnable接口这种方法来说,它只是让线程类多扮演了一种角色,多附加了一项重要的功能,不会影响其他,只是该子类的对象并不是一个线程,只是在这个类中通过实现run方法来实现线程需要完成的任务。

2.线程的使用

首先应创建一个线程对象,所有的线程操作都将在这个线程对象基础之上来完成。我们同过start()方法来启动新线程。与servlet相似,线程也是具有生命周期的,它包括新建、等待、运行、等待\阻塞、死亡这五个状态。关于线程的使用包括睡眠、优先级、让步(yield/join),守护。

3.同步线程

我们通常会使用同步方法来解决多线程并发可能带来的问题。进入同步方法执行的线程会获得同步方法所属对象的锁,这样子的话其他线程将无法执行被锁对象的同步方法了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值