对于多线程共享资源的情况需要进行同步,以避免一个线程的改动被另一个线程的改动所覆盖。最普遍的同步方式就是synchronized。把代码声明为synchronized,有两个重要后果,通常是指该代码具有 原子性(atomicity)和 可见性(visibility)。
1、原子性强调的是执行,意味着个时刻,只有一个线程能够执行一段代码,这段代码通过一个monitor object保护。从而防止多...
分类:
编程语言 时间:
2014-07-30 01:03:12
阅读次数:
311
下面是一个多线程,生产者消费者问题,一个队列放暂存的数据: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using std::cout; 8 using std::endl; 9 using std::queu...
分类:
编程语言 时间:
2014-07-30 00:44:12
阅读次数:
430
相同:1,最后结果都是 释放不需要的空间,不同:assign(weak):直接赋值retain(strong):+1,引用一次 调用一次 retainrelease:-1copy:两个变量不共享内存,各有各的内存atomic:原子操作(多线程时使用)nonatomic:非原子操作@autorelea...
分类:
移动开发 时间:
2014-07-30 00:32:32
阅读次数:
397
在多线程的情况下,因为同一进程的多个线程共享同一片存储空间,在带来方便的同一时候,也带来了訪问冲突这个严重的问题。Java语言提供了专门机制以解决这样的冲突,有效避免了同一个数据对象被多个线程同一时候訪问。wait与notify是java同步机制中重要的组成部分。结合与synchronizedkey...
分类:
编程语言 时间:
2014-07-30 00:31:12
阅读次数:
301
/* 目的:分析一下单例设计模式中,懒汉式与饿汉式在多线程中的不同! 开发时我们一般选择饿汉式,因为它简单明了,多线程中不会出现安全问题! 而饿汉式需要我们自己处理程序中存在的安全隐患,但是饿汉式的程序技术含量更高!*//* class SinglePerson implements Runnabl...
分类:
编程语言 时间:
2014-07-30 00:29:42
阅读次数:
331
效果不正确unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) ...
分类:
编程语言 时间:
2014-07-29 21:25:12
阅读次数:
271
1.你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗?2.你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObje...
分类:
移动开发 时间:
2014-07-29 21:08:03
阅读次数:
276
一、MINA简介 在介绍Mina之前,要先介绍一下NIO和BIO这两个名词: BIO:Blocking IO,阻塞IO,每个客户端的请求对应一个线程处理。使用BIO有一个问题,当客户端的连接请求过多时,服务端就会需要很多线程来处理客户端的请求,这样很容易使得服务器资源消耗过度等问题。 NIO:...
分类:
其他好文 时间:
2014-07-29 21:02:22
阅读次数:
232
C,Java和C#中典型的多线程范例都强烈推荐使用锁和互斥。对于锁来说有个隐藏的开销:它们慢得难以忍受。使用Disruptor(JVM中的无锁的环形缓存[译者注:实际上就是拥有一个序号指向下一个可用元素的数组]),你可以很容易得每秒处理20M以上的事件。
分类:
编程语言 时间:
2014-07-29 20:38:02
阅读次数:
203
1,Servlet是使用Java实现的CGI程序,但是与传统CGI不同的是,Servlet采用多线程的方式进行处理,所以程序的性能更高。
2,要想实现一个Servlet则一定要继承HttpServlet类,并根据需要覆写相应的方法,还需要在web.xml文件中配置Servlet后才可以使用。
3,Servlet生命周期控制的3个方法,即init(),service(),(doG...
分类:
其他好文 时间:
2014-07-29 18:07:22
阅读次数:
190