A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 赵鸿富 于 2013-3-17 19:51 编辑

多线程到底有几种实现方法???都是些什么?还有就是同步有几种方法?是什么???

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

5 个回复

倒序浏览
多线程有两种实现方法,分别是继承Thread类与实现Runnable接口
同步的实现方面有两种,分别是synchronized,wait与notify

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
实现线程有两种 继承Thread类或者实现Runnable接口...
实现同步也有两种,一种是用同步方法,一种是用同步块.. 同步方法就是在方法返回类型后面加上synchronized, 比如:public void synchronized add(){...}同步块就是直接写:synchronized (这里写需要同步的对象){...}

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
多线程有3种实现方法  继承Thread 类、实现Runnable 接口和创建线程池(JDK1.5之后才有的)实现多线程
synchronized,wait与notify 可以实现同步  其实还有很多可以实现同步的方法  这个就需要经验的积累了

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 炉海佳 于 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()// 用在方法主题上
{
        //里面是代码      
  }
回复 使用道具 举报
若还有问题,请继续追问,或完善问题;没有的话,请将帖子分类改成【已解决】~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马