相关参考资料:
http://www.cnblogs.com/hoojo/archive/2011/05/05/2038101.htmlhttp://www.cnblogs.com/dolphin0520/p/3920357.htmlhttp://lavasoft.blog.51cto.com/62575/27069http://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();