本帖最后由 炉海佳 于 2013-3-17 19:25 编辑
一.多线程有两种方法,一种是继续Thread类,另外一种是实现Runable接口。
1.继承Thread类
class Test extends Thread//继续Thread类
{
private String name;
public Test(String name) {
this.name = name;
}
public void run()//要执行的代码
{
for (int i = 0; i < 5; i++) {
System.out.println(name + "线程运行 " + i);
}
}
public static void main(String[] args) {
Test h1=new Test("aaa");
Test h2=new Test("bbb");
h1.start(); //开启线程
h2.start(); //开启线程
}
}
2.实现Runnable接口
class Test implements Runnable //实现Runnable接口
{
private String name;
public Test(String name) {
this.name = name;
}
public void run() //要执行的代码
{
for (int i = 0; i < 5; i++) {
System.out.println(name + "线程运行 " + i);
}
}
public static void main(String[] args)
{
Test h1=new Test("aaa");
Thread demo1= new Thread(h1);
Test h2=new Test("bbb");
Thread demo2= new Thread(h2);
demo1.start(); //开启线程
demo2.start(); //开启线程
}
}
都是调用start方法运行run方法,不过一般都是用实现runnable接口,因为它适合多个相同的程序代码的线程去处理同一个资源。
二.同步也有两种,同步代码块和同步方法。
1.同步代码块
synchronized(同步对象)
{
//这里面是需要同步的代码
}
2.同步方法
例如:
public synchronized void sale()// 用在方法主题上
{
//里面是代码
} |