最近研究mysql源码,各种锁,各种互斥,好在我去年认真学了《unix环境高级编程》, 虽然已经忘得差不多了,但是学过始终是学过,拿起来也快。写这篇文章的目的就是总结linux 下多线程编程,作为日后的参考资料。本文将介绍linux系统下多线程编程中,线程同步的各种方法。包括:互斥量(mutex)读...
分类:
编程语言 时间:
2015-04-09 21:37:42
阅读次数:
258
Java多线程之 – 进程和线程概念进程
程序的动态执行过程
包括占用的资源(内存、CPU)和线程
线程
线程是程序中最小的执行单位
一个进程有多个线程
线程共享进程的资源
进程和线程的区分我们可以想象为进程为班级而线程是邦奇中得每一个学生线程之间的交互
互斥,类似于每一个学生都为了第一名而你争我让,线程也是,都想抢占CPU的资源
同步,当举行运动会的时候,大家都团结一心,彼此共享自己的资源 Thr...
分类:
编程语言 时间:
2015-04-09 08:54:08
阅读次数:
234
使用synchronized获取互斥锁的几点说明...
分类:
编程语言 时间:
2015-04-08 23:28:24
阅读次数:
274
本例子因为两个线程公用同线程中,使用同一个对象,实现了他们公用一把锁,实现了同一个方法的互斥。package locks;/** *会被打乱的效果 */public class LockTest2 { public static void main(String[] args) { ...
分类:
编程语言 时间:
2015-04-08 23:06:42
阅读次数:
153
一、互斥锁简介POSIX线程同步方法有:POSIX信号量、互斥锁和条件变量。互斥锁可以用于保护关键代码段,以确保其独占式的访问。当进去关键代码段时,我们需要获得互斥锁并将其加锁,等价于二进制信号量的P操作,当离开关键代码段时,我们需要对其解锁,等价于二进制信号量中的V操作。互斥锁基础API:互斥锁属...
分类:
其他好文 时间:
2015-04-08 00:48:08
阅读次数:
181
1 基于概率模型的聚类 例子: a.评论产品,一个评论可能设计多种产品,如一个评论谈论摄像机与计算机的兼容性,怎么办?该评论与这两个簇相关,而并不互斥地属于任何一个簇。 b.用户在购买商品时,检索的信息中既订购了一部数据相机,并且同时比较了多种笔记本电脑,怎么办?这种会话应该在某种程度上数据这两个簇...
分类:
其他好文 时间:
2015-04-07 22:58:08
阅读次数:
281
能解决下面的问题,基本上就能理解线程互斥与同步了。 子线程循环10次,主线程循环100次,接着子线程循环10,主线程循环100次。如此往复循环50次。 1 package cn.lah.thread; 2 3 public class TraditionalThreadCommunication ....
分类:
编程语言 时间:
2015-04-05 21:54:58
阅读次数:
126
Python死锁是怎么形成的呢?死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。由于资源占用是互斥的,当某个进程提出申..
分类:
编程语言 时间:
2015-04-05 19:00:23
阅读次数:
154
之前的文章讨论了互斥量、条件变量、读写锁和自旋锁用于线程的同步,本文将首先讨论Barriers和信号量的使用,并给出了相应的代码和注意事项,相关代码也可在我的github上下载,然后对线程各种同步方法进行了比较。
Barriers
Barriers是一种不同于前面线程同步机制,它主要用于协调多个线程并行(parallel)共同完成某项任务。一个barrier对象可以使得每个...
分类:
编程语言 时间:
2015-04-02 22:40:38
阅读次数:
468
第一部分:知识备忘1、进程间通信方式本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类:消息传递(管道、FIFO、消息队列)同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)共享内存(匿名的和具名的)远程过程调用(Solaris门和Sun RPC)但这些都不是本文的主题!我们要讨论的...
分类:
其他好文 时间:
2015-04-02 22:34:30
阅读次数:
234