多线程——java实现多线程的方式

1、线程和进程 要理解多线程,我们必须首先弄清楚线程和进程的概念。在上一篇博文总已经较为详细的介绍过,本篇博文只做总结。进程就是运行的程序,每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1–n个线程。线程是程序执行的最小单位,同一类线程共享代码和数据空间...

2016-12-10 18:58:06

阅读数 541

评论数 0

多线程——java线程方法详细介绍

1、线程调度 1.1 调整线程优先级 Java线程有优先级,优先级高的线程会获得较多的运行机会。Java线程的优先级用整数表示,取值范围是1~10,Thread类有以下三个静态常量: static int MAX_PRIORITY:线程可以具有的最高优先级,取值为10。 static int ...

2016-12-10 16:15:04

阅读数 570

评论数 0

Java线程锁(二)——循环打印ABC

1、经典例子   对Object.wait(),Object.notify()的应用最经典的例子,应该是三线程打印ABC的问题了吧,这是一道比较经典的面试题(网上关于本面试题很多),题目要求如下:   建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,...

2016-10-12 22:21:05

阅读数 717

评论数 0

Java线程锁(一)——wait(),notify(),synchnorized使用

1、synchronized关键字    JAVA的进程同步是通过synchronized()来实现的。需要说明的是,JAVA的synchronized()方法类似于操作系统概念中的互斥内存块,在JAVA中的Object类型中,都是带有一个内存锁的,在有线程获取该内存锁后,其它线程无法访问该内...

2016-10-12 22:02:41

阅读数 1067

评论数 0

多线程中ThreadLocal的理解

1、理解ThreadLocal 在多线程开发的过程中可能会有这样的需求,有些变量或者对象在同一个线程中是共享的,在不同的线程中是隔离的,如何实现? (1)下面的这个例子是演示了在多线程的环境下不同的业务对象使用相同的对象数据时出现了错乱:public class ThreadSingleton...

2016-09-04 16:07:24

阅读数 527

评论数 0

Nginx负载均衡

1、负载均衡先来简单了解一下什么是负载均衡。单从字面上的意思来理解就可以解释N台服务器平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。那么负载均衡的前提就是要有多台服务器才能实现。2、测试环境由于没有服务器,所以本次测试直接host指定域名,然后在VMware里安装了三台Cent...

2017-07-09 09:30:49

阅读数 164

评论数 0

synchronized关键字

1、引言我们知道Java API提供了丰富的多线程机制,但是要想多线程机制能够正常运转,需要采取一些措施来防止多个线程访问相同的资源。为防止出现这样的冲突,只需在线程使用一个资源时为其加锁即可。访问资源的第一个线程加上锁以后,其他线程便不能再使用那个资源,除非被解锁。在Java中,对这种特殊的资源...

2017-04-08 11:25:29

阅读数 248

评论数 0

深入分析Volatile的实现原理

1、引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchroniz...

2017-03-28 19:30:05

阅读数 3885

评论数 3

并发编程——原子性,可见性和有序性

在并发编程中,我们通常会遇到以下三个问题:原子性问题,可见性问题,有序性问题。1、原子性即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性就像数据库里面的事务一样,他们是一个团队,同生共死。一个很经典的例子就是银行账户转账问题:比如从账户A向账户B转100...

2017-03-26 11:38:35

阅读数 1729

评论数 0

并发编程——线程同步

1、什么是线程同步线程同步不是指平常所说的两件事情同时进行。它的目的是使多个线程之间协调工作,而且常常是避免两个线程同时进行某些操作,比如同时访问同一个共享资源。一般来说,同步是通过暂时将会发生冲突操作的某个线程暂停执行(称为阻塞线程),然后等待不会冲突时再继续执行。2、线程同步的情况2.1 多个...

2017-03-23 21:19:22

阅读数 192

评论数 0

并发编程——线程通信

在说明线程通信前,我们有必要对进程通信进行了解。1、进程通信方法进程间通信的方法主要有以下几种:(1)无名管道( pipe )管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。(2)高级管道(popen)将另一个程序当做一个新的进...

2017-03-23 21:00:35

阅读数 323

评论数 0

进程介绍及和线程的关系

1、进程的概念 进程是一个“执行中的程序”。程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,我们称其为进程。简单来说,进程就是cpu调度的最小单位,是应用程序的执行实例。2、进程的状态 由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行...

2016-12-07 18:57:06

阅读数 261

评论数 0

线程介绍

1、线程的基本概念 线程是进程中执行运算的最小单位,是进程中的一个实体,是CPU 调度的一个基本单位;线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。2、线程...

2016-12-07 18:54:37

阅读数 289

评论数 0

有状态对象和无状态对象

1、线程安全   要搞清楚有状态对象和无状态对象,首先需要弄清楚线程安全的问题。如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,那么就是线程安全的。   或者说,一个类或者程序所...

2016-09-10 16:02:09

阅读数 3572

评论数 1

关于进程和线程的一点理解

1、线程和进程 (1)进程是运行中的程序,拥有自己独立的内存空间和资源; (2)一个进程可以有一个或多个线程组成,且至少有一个线程称为主线程; (3)线程是最小的处理单位,多个线程共享一块内存和资源; (4)当一个线程改变了所属进程的变量时,其它线程下次访问该变量时得到这种改变。 2、...

2016-08-14 15:11:38

阅读数 319

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭