本文主要是详解Java基础知识之多线程,更多IOS技术知识,请登陆疯狂软件教育官网。
1、认识线程
a) 对于线程来说,容易混淆的还有进程,我们用一个例子来区分它们,每次打开一个word文档,这就是一个进程,一个word中的拼写检查这是一个线程,再如每登陆一个QQ,这是一个进程,QQ中的每一个会话都是一个线程。
b)对于只有一个CPU的电脑来说,一个时间点只有一个进程占用CPU
2、Java中如何实现线程
Java中实现多线程可以采用:继承Thread类,或,实现Runnable接口
a)继承Thread类,这个方式必须覆写run()方法
[java]
class 类名称 extends Thread{
//成员变量
//成员方法
public void run(){
//线程主体
}
}
小例子
[java]
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
class myThread extends Thread {
Map<String,? extends Collection<Integer>> map= new HashMap<String,List<Integer>>();
private String name;
public myThread(String name){
this.name = name;
}
public void run(){
for(int i = 0; i < 10; i++){
System.out.println(name + "运行,i="+i);
}
}
}
public class MyThread {
public static void main(String[] args){
myThread mt1 = new myThread("线程A");
myThread mt2 = new myThread("线程B");
mt1.start();
mt2.start();
}
}
b)实现Runnable接口,覆写run()方法
[java]
public class Thread2 implements Runnable {
//成员变量
//成员方法
public void run(){
//线程主体
}
}
小例子:
[java]
class A implements Runnable{
//成员变量
//成员方法
private String name;
public A(String name){
this.name = name;
}
public void run(){
//线程主体
for(int i = 0; i < 10; i++){
System.out.println(name + "运行,i="+i);
}
}
}
public class Thread2{
public static void maim(String[] args){
A a1 = new A("线程A");
A a2 = new A("线程B");
Thread t1 = new Thread(a1);
Thread t2 = new Thread(a2);
t1.start();
t2.start();
}
}
3、两种方式的区别及使用结论
a)使用Runnable接口可以实现资源的共享,而Thread类不行.
b)避免单继承带来的局限性
在开发中使用Runnable接口是比较合适的
4、线程的状态
创建状态:准备好一个多线程对象,Thread t = new Thread();
就绪状态:调用start()方法,等待CPU调度
运行状态:执行run()方法
阻塞状态:暂时停止执行,可能将资源给其他线程使用
终止状态:线程执行完毕,不再使用
Java基础知识之多线程
原创
©著作权归作者所有:来自51CTO博客作者小咸鱼干的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:Java内部类学习笔记
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python基础知识-5
介绍python的各种应用实例
python -
【Java -- 基础】多线程基础知识汇总
多线程的应用在开发中非常常见,今天,笔者整理了一份较全面的多线程基础知识汇总。
java 线程 进程 多线程 主线程 -
三、Java基础知识-多线程
线程死锁描述的是这样一种情况:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,
java 开发语言 多线程 内存屏障 重排序 -
JAVA多线程程序开发基础知识
JAVA多线程基础概念-程序、进程与多任务程序(program)是对数据描述与操作的代码的
多线程 优先级 同步方法 执行状态 -
java 基础之多线程概述
1、多线程的简介1)在学习线程之前我们先了解一下进程:(1)现在很多操作系统都支持多进程,我们可以单纯的理解
java 线程 优先级 同步锁 实例化