黑马程序员技术交流社区

标题: 多线程有几种实现凡是各是什么,同步有几种实现方式 各是什么 [打印本页]

作者: alax    时间: 2014-5-20 03:07
标题: 多线程有几种实现凡是各是什么,同步有几种实现方式 各是什么
多线程有几种实现凡是各是什么,同步有几种实现方式 各是什么
作者: 沉默的爱    时间: 2014-5-20 09:52
多线程好象有两种实现方式,一种是继承Thread类。并复写Run方法!!同步有同步方法和同步代码块,都用synchronized(obj)只是放的位置不一样!!
作者: gentleman    时间: 2014-5-20 10:09
创建线程的第一种方式:继承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();





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2