Java多线程编程入门
来源:互联网 发布:阿里云学生服务器购买 编辑:程序博客网 时间:2024/05/16 01:14
Java的其中一个优势就是处理多线程简单
要介绍多线程的概念,就不得不提进程、线程和并发的概念。
多线程:用时间运行多个任务。
对于操作系统级别同时运行的任务,称为进程。
对于一个应用程序而言,同时运行的任务称为一个线程。
多线程是并发运行的,所谓并发操作,就是每个任务都是走走停停,CPU分配时间片段来运行一个任务时,其他任务就处于暂停状态。CPU尽可能均匀的运行所有的任务,这种在宏观上看起来是同时运行,而微观角度上是走走停停的现象叫做并发。
现在来讨论Java中的多线程
Thread类: Thread类的实例表示一个线程。我们要是想并发执行任务,则可以继承该类,并重写run方法来定义并发执行的任务逻辑,从而达到并发操作的目的。
创建线程的第二种方式:将线程与线程要执行的任务分离开。
定义线程任务
Runnable接口:定义线程体只需要实现Runnable接口,并重写run方法。
下面介绍线程的运行原理
线程运行原理:创建线程并指派任务后,调用start()方法启动线程,这时会将该线程纳入线程调度机制。被纳入线程调度机制的线程会被分配CPU时间段,得以并发运行。
分配时间片段时,CPU运行该线程的任务,当时间片用完后,该任务暂停,这样走走停停。直到线程任务执行完毕,线程退出。并被垃圾回收机制释放。
线程常用方法:
void start() 启动线程的方法
static void yield() 让当前处于运行的线程主动放弃当次CPU时间,进入Runnable状态。
static void sleep(long time) 使当前线程进入睡眠阻塞(sleep blcok),时间为给定的time描述的毫秒值。当时间超过后,会自动回到Runnable状态。
void interrupt() 中断线程
final void setPriority(int p)设置线程的优先级
理论上,优先级越高的线程,获取CPU运行的机会多。但这不是可控的。优先级1-10, 1最低,10最高,线程默认优先级为5
final void join() 等待该线程终止
守护线程(后台线程):当一个进程中,所有的前台线程都结束时,无论守护线程是否结束,都会强制停止,并使得进程结束。
后台线程是通过线程的方法设置的。 setDaemon(boolean b) 当参数为true时,这个线程就是后台线程了,该方法要在调用start()方法前调用才有效!
- Java多线程编程入门
- Java多线程编程入门一
- Java多线程编程技术之入门基础
- Java多线程程序设计入门-Java基础-Java-编程开发
- Java 多线程 基础入门 Java编程思想读书笔记
- 多线程编程入门介绍
- Linux 多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- linux多线程编程入门
- UNIX 多线程编程入门
- C++多线程编程入门
- C++多线程编程入门
- iscsi问题锦集
- windows程序扫雷程序设计
- VM虚拟机中Linux扩展磁盘空间的方法
- HDU2795 Billboard 【线段树】+【单点更新】
- POJ2603
- Java多线程编程入门
- 资源
- 线性回归-实践篇
- Windows如何在cmd命令行中查看、修改、删除与添加、设置环境变量
- nyoj290动物统计加强版(字典树)
- 设计模式之十五:访问者模式(Visitor Pattern)
- log4j&&slf4j配置详解
- iOS多线程编程之NSOperation和NSOperationQueue的使用
- 系统重构是个什么玩意儿