线程的最大特点是资源的共享性,但资源共享中的同步问题是多线程编程的难点。linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量和信号量。 一、互斥锁(mutex) 通过锁机制实现线程间的同步。 [csharp] view plain copy #include <cstdio> #in ...
分类:
编程语言 时间:
2016-09-04 11:26:04
阅读次数:
230
Unix系统中,可以用于进程间的通信: Linux进程间通信:管道、信号、消息队列、共享内存、信号量、套接字(socket) Linux线程间通信:互斥量(mutex),信号量,条件变量 Windows进程间通信:管道、消息队列、共享内存、信号量 (semaphore) 、套接字(socket) W ...
分类:
系统相关 时间:
2016-08-26 15:14:35
阅读次数:
176
进程:资源分配的基本单位线程:进程调度的基本单元线程强调资源共享但不是一味的共享线程两个比较重要的私有成员:【1】必须有自己的硬件上下文进行自己切换时上下文的切换【2】私有栈结构进程强调资源独占但不是一味的共享各线程共享一下进程资源:(1)文件描述符表(2)每..
分类:
编程语言 时间:
2016-07-31 16:12:12
阅读次数:
257
Dubbo官方文档:用户指南>>示例>>线程模型配置标签:<dubbo:provider/><dubbo:protocol/>实战经验分享(属用性能调优):Linux用户线程数限制导致的java.lang.OutOfMemoryError:unabletocreatenewnativethread异常#vi/etc/security/limits.d/90-nproc...
分类:
编程语言 时间:
2016-07-29 19:27:19
阅读次数:
1328
线程概念 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。 线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为 ...
分类:
编程语言 时间:
2016-07-20 06:28:20
阅读次数:
184
线程安全 比如一个 ArrayList 类,在添加一个元素的时候,它可能会有两步来完成: 1. 在 Items[Size] 的位置存放此元素; 2. 增大 Size 的值。 在单线程运行的情况下,如果 Size = 0,添加一个元素后,此元素在位置 0,而且 Size=1;而如果是在多线程情况下,比 ...
分类:
编程语言 时间:
2016-07-19 09:29:15
阅读次数:
195
各线程共享的资源:1、文件描述符表。2、每种信号的处理方式(SIG_IGN、SIG_DFL或者自定义的信号处理函数)3、当前工作目录。4、用户id和组id。各线程独立的资源:1、线程id。2、上下文,包括各种寄存器的值、程序计算器和栈指针。3、栈空间。4、errno变量。5、信号量屏蔽字。6..
分类:
编程语言 时间:
2016-07-17 02:41:31
阅读次数:
224
线程概念:共享进程地址空间的多任务结构 创建线程的相关函数: 1. int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg); 参数1 : ...
分类:
编程语言 时间:
2016-07-01 11:41:21
阅读次数:
231
看了一些关于信号量的线程同步方式,今天用了一下。 我对于线程同步一直有疑问,在主线程和子线程处理时间不相同的时候,用这种信号量,如何保证同步。 假如主线程比较快,信号量连加了n个,但是子线程就不断减这个n,减到0。但是如果主线程太快太快,需要停一停,比如缓冲区快溢出了,主线程需要挂起。 由什么来唤醒 ...
分类:
编程语言 时间:
2016-05-09 22:07:15
阅读次数:
397
一、线程安全线程是操作系统调度的最小单元,进程是分配资源的最小单元。一个进程可以派生出多个线程,这些线程独立执行,共享进程资源。多线程大大提高了系统的运行速度,但是也引出了一些问题,线程主要由控制流程和资源使用两部分构成,所以就面临一个问题就是对共享资源访..
分类:
编程语言 时间:
2016-05-07 01:20:25
阅读次数:
196