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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

多线程有几种实现凡是各是什么,同步有几种实现方式 各是什么

点评

多一句话式提问,多不和提供解答者交流。  发表于 2014-5-20 21:18

3 个回复

倒序浏览
多线程好象有两种实现方式,一种是继承Thread类。并复写Run方法!!同步有同步方法和同步代码块,都用synchronized(obj)只是放的位置不一样!!
回复 使用道具 举报
创建线程的第一种方式:继承Thread类。
步骤:1、定义类继承Thread。2、复写Thread类中的run方法(目的:讲自己定义代码存储在run方法,让线程运行)。3、调用线程的start方法,该方法有另个作用:启动线程,调用run方法。


创建线程第二种方式:实现Runnab接口
Runnable 接口应该由那些打算通过某一线程执行其实例的类来实现。类必须定义一个称为 run 的无参数方法。
创建线程的第二种方式:实现Runable接口
步骤:
1、定义类实现Runable接口
2、覆盖Runable接口中的run方法(将线程要运行的代码存放在run方法中)
3、通过Thread类建立线程对象
4、将Runable接口的子类对象作为实际参数传递给Thread类的构造函数


同步第一种方式就是同步代码块,或者同步函数。
synchronized(对象)
{
        需要被同步的代码
}


同步第二种方式,1.5新特性Lock
Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 Condition 对象。


Lock:替代了Synchronized
        lock
        unlock
        newCondition()
Condition:替代了Object wait notify notifyAll
        await();
        signal();
        signalAll();
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马