近期突然想到,一道珠海笔试题,让你写atm机的逻辑,当时想多了,以为重点是让你写清楚其中的事务互斥关系,当时也忘记数据库是否会自动互斥,从而不会出现脏数据。所以就敲了个代码实践了下。例子还是老例子.....卖票..不会卖出脏数据为好。线程函数:static DWORD WINAPI Ticket1(...
分类:
数据库 时间:
2015-08-07 19:20:12
阅读次数:
268
每个iOS应用程序都有个专门用来更新显示UI界面、处理用户的触摸事件的主线程,因此不能将其他太耗时的操作放在主线程中执行,不然会造成主线程堵塞(出现卡机现象),带来极坏的用户体验。一般的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程编程是防止主线程堵塞,增加运行效率的最佳方法:1.iOS支持多个层次的多线程编程,层次越高的抽象程度越高,使用也越方便,也是苹果最推荐使用的方法。
2.N...
分类:
编程语言 时间:
2015-08-07 16:11:43
阅读次数:
212
假设这样一个情景:在银行的营业厅内先后进来3个人,他们都要进行存款,若是只有一个营业窗口的话,通常的情况是每人都需要先领取顺序条,然后按序排队办理业务,而营业厅会根据号码的顺序依次叫号来处理顾客的问题。 在这里银行的窗口就可以看做共享的资源,它每次只能接待一个顾客,而不同的顾客则可以看做是多个...
分类:
编程语言 时间:
2015-08-06 22:03:53
阅读次数:
148
1. Linux中线程互斥/同步有哪几种方式?1) 互斥锁:? pthread_mutex_lock ? pthread_mutex_unlock2) 条件变量: ? pthread_cond_wait ? pthread_cond_signal; ? pthread_cond_broadcast;...
分类:
其他好文 时间:
2015-08-06 20:04:05
阅读次数:
278
多线程一个进程在同一时刻只能做一件事,而多个线程却可以同时执行,每个线程处理各自独立的任务。多线程有很多好处:
简化处理异步事件的代码
实现内存和文件描述符的共享
改善程序的吞吐量
改善响应时间
互斥锁
互斥锁:互斥锁通过锁机制来实现线程间的同步,在同一时刻通常只允许一个关键部分的代码
当多个线程控制相同的内存时,对于读写操作的时间差距就有可能会导致数据的不同步,下图就很清晰的说明了这种情况:...
分类:
编程语言 时间:
2015-08-04 13:38:20
阅读次数:
173
.线程访问机制任务间的关系有两种:1,间接关系;2,直接关系。例如1. 任务A对莫个缓冲区进行写操作。任务B从这个缓冲区进行读操作。那么A和B的关系就是直接的关系,那么实现这种直接关系的机制就是同步2. 任务A要使用打印机,任务b也要使用打印机,那么只有在任务A使用结束的情况下才能使用打印机,所以A...
分类:
其他好文 时间:
2015-08-03 20:52:40
阅读次数:
222
1. 问题引入:互斥锁问题,假设现在有两个资源A和B,一个线程先拿A再拿B,另一个则相反,这样导致的问题就是死锁,即两个线程无休止的互相等待
#include
#include
#include
#include
pthread_mutex_t g_mtxa = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t g_mtxb = PTHREAD_MU...
分类:
编程语言 时间:
2015-08-03 16:58:29
阅读次数:
178
条件变量通信机制条件变量必须配合互斥锁一起实现对资源的互斥访问使用方法:int pthread_cond_init (pthread_cond_t *__restrict __cond, __const pthread_condattr_t *__restrict __cond_attr) :初始化...
分类:
编程语言 时间:
2015-07-30 21:16:42
阅读次数:
161
线程同步机制互斥锁通信机制int pthread_mutex_init (pthread_mutex_t *__mutex, __const pthread_mutexattr_t *__mutexattr) :初始化互斥锁,成功返回0 参数1:要初始化的互斥锁 参数2:定义要初始化的互斥锁属性.....
分类:
编程语言 时间:
2015-07-30 20:59:35
阅读次数:
152
#include
#include
#include
#include
#include
#define BUFF_SIZE 10
char buffer[BUFF_SIZE];
char count = 0; //缓冲池里的信息数目
sem_t sem_mutex; //生产者和消费者的互斥锁
sem_t p_sem_mutex; //空的时候,对消费者不可进
sem_t c_sem...
分类:
其他好文 时间:
2015-07-30 13:37:50
阅读次数:
125