您的位置:首页 > 编程语言 > Java开发

Java 多线程

2015-08-29 12:45 459 查看
相关参考资料: http://www.cnblogs.com/hoojo/archive/2011/05/05/2038101.html
http://www.cnblogs.com/dolphin0520/p/3920357.html
http://lavasoft.blog.51cto.com/62575/27069
http://www.ibm.com/developerworks/cn/java/multithreading/
 
同步的概念
就是指在同一个时间内只能有一个线程运行,其他线程要等待此线程完成之后才可以继续执行
同步用synchronized来实现,分为普通代码块,构造块,静态块。

一般来说,线程包括以下这几个状态:创建(new)、就绪(runnable)、运行(running)、阻塞(blocked)、time waiting、waiting、消亡(dead)

当线程进入就绪状态后,不代表立刻就能获取CPU执行时间,也许此时CPU正在执行其他的事情,因此它要等待。当得到CPU执行时间之后,线程便真正进入运行状态

对于单核CPU来说,CPU在一个时刻只能运行一个线程,当在运行一个线程的过程中转去运行另外一个线程,这个叫做线程上下文切换(对于进程也是类似)

java实现多线程有2种方式:
1) 继承thread类
class MyThread extends Thread{
//java代码
//构造函数
public MyThread(String name){
this.name =name;
}
//run方法
public void run(){}
}

MyThread mt1= new MyThread("Mythread 1");
mt1.start();

2) 实现runnable类
启动时必须转为thread类才能启动start方法;
可以实现资源共享;
class MyThread implements Runnable{
//java代码
public void run(){}
}

Thread thread1 = new Thread(new MyThread());
thread1.start();


本文出自 “leboit” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: