java多线程三种方式区别,java多线程,线程同步方式,线程同步加锁的方法,wait与sleep区别

原创 2015年11月21日 19:21:51

java多线程三种方式区别



1)实现Runnable接口

        定义线程类,实现Runnable接口,重写其public void run(),将此类的对象当做Thread类的构造函数中的参数

       所有子线程公用一套run中代码

2)继承Thread类

        所有子线程各有一套自己的run代码

3)使用ExecutorService,Callable,Future实现有返回结果的多线程


java多线程


1)进程是资源分配的最小单位,线程是处理机调度执行的最小单位;不同的进程有各自的逻辑地址,能共享物理地址,而同一进程的线程之间可以

        共享部分逻辑地址,即:能共享堆内存,每个线程有自己的线程栈,寄存器,私有数据。

2)多线程的实现方式有:继承Runnable接口、继承Thread类、使用ExecutorService、Callable、Future实现有返回结果的多线程。

3)多线程时要处理线程同步问题,使用加锁的方式同时又要避免死锁的产生。


线程同步方式


互斥锁、读写锁、条件变量、信号量和令牌


线程同步加锁的方法


1)synchronized:修饰方法或修饰代码块


2)lock对象锁:lock()方法会对Lock实例对象进行加锁,因此所有对该对象调用lock()方法的线程都会被阻塞,直到该Lock对象的unlock()方法被调用。


wait与sleep区别


1)wait是Object类的方法,sleep是Thread类的方法

2)wait时必须有锁且放开,sleep时不一定有锁,有的话不放开

3)wait要靠别人叫醒或打断,sleep自己醒或被打断





版权声明:本文为博主原创文章,未经博主允许不得转载。

Java第七课 Java的多线程程序进程和线程的概念,实现多线程的两种方式,线程同步的原理,线程的死锁,运用wait和notify来实现producer - consumer关系,线程终止的两种情况。

程序、进程和线程 1.程序是计算机指令的集合,它以文件的形式存储在磁盘上。 2.进程:是一个程序在其自身的地址空间中的一次执行活动。 3.进程是资源申请、调度和独立运行的单位,因此,它使...

Java多线程的线程同步需要注意的地方synchronized与static synchronized区别

今天用到java来实现多线程环境下的单件模式例子,才发现关于synchronized还是有一些地方需要比较小心的。   synchronized是对当前的实例进行加锁,要注意是“当前实例”,也就是说,...
  • Baple
  • Baple
  • 2013年09月27日 09:26
  • 2856

IOS 多线程,线程同步的三种方式

一般情况下我们使用线程,在多个线程共同访问同一块资源。为保护线程资源的安全和线程访问的正确性。 在IOS中我们一般情况下使用以下三种线程同步代码方式: 第一种和第二种代码同步的使用方法,一般情况下我们...
  • gwjxl
  • gwjxl
  • 2015年05月04日 22:30
  • 759

黑马程序员——Java多线程—线程同步—wait、notify、notifyAll

关于wait、notify、notifyAll如何使用不再说明

java线程同步原理、wait,notify的用法及与sleep的区别

一。 java线程同步原理 java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )或同步快被多个线程调用时,该对象的monit...

java线程同步原理及wait,notify的用法及与sleep的区别

一。 java线程同步原理 java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处...

java线程同步原理及wait,notify的用法及与sleep的区别

一。 java线程同步原理 java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods)被多个线程调用时,该对象的monitor将负责处理...
  • o274274
  • o274274
  • 2012年07月03日 17:00
  • 500

java线程同步原理及wait,notify的用法及与sleep的区别

一。 java线程同步原理 java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处...

java线程同步原理及wait,notify的用法及与sleep的区别

一。 java线程同步原理 java会为每个object对象分配一个monitor,当某个对象的同步方法(synchronized methods )被多个线程调用时,该对象的monitor将负责处...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java多线程三种方式区别,java多线程,线程同步方式,线程同步加锁的方法,wait与sleep区别
举报原因:
原因补充:

(最多只允许输入30个字)