1、基本概念 多个线程按照规定的顺序来执行,即为线程同步。 A同学:扫5次地 B同学:拖地 sync.c 2、条件变量 1)初始化 pthread_cond_t cond_ready=PTHREAD_COND_INITIALIZER; 2)等待条件成熟 pthread_cond_wait(&cond ...
分类:
编程语言 时间:
2016-06-13 22:08:19
阅读次数:
178
atomic和nonatomic用来决定编译器生成的getter和setter是否为原子操作。 atomic 设置成员变量的@property属性时,默认为atomic,提供多线程安全。 在多线程环境下,原子操作是必要的,否则有可能引起错误的结果。加了atomic,setter函数会变成下面这样: ...
分类:
其他好文 时间:
2016-06-13 22:03:52
阅读次数:
124
1、基本概念 a、线程就是“轻量级”的进程 b、线程与创建它的进程共享代码段和数据段 c、线程拥有自己的独立的栈。 2、函数学习 1)创建线程 函数名:pthread_create 函数原型:Int pthread_create(pthread_t *thread,const pthread_att ...
分类:
编程语言 时间:
2016-06-13 21:57:16
阅读次数:
221
线程与进程的概述: 第一个多线程: package com.gz_02; /* * 需求:我们要实现多线程的程序 * 如何实现呢? * 由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来 * 而进程是由系统创建的,所以我们应该去调用系统功能创建一个系统 * java是不能直接调用系统功能的, ...
分类:
编程语言 时间:
2016-06-13 21:54:01
阅读次数:
330
在使用Mysql的主从复制架构中,有两个比较头疼的问题:1、主从数据不同步后如何处理2、主从同步延迟问题如何解决本文将根据实际案例来分析下问题1,至于问题2多数文档介绍的办法是启用多线程复制来解决,言归正传,这里的问题1还可以细分成两种情况。1、Slave_IO_Running和Slav..
分类:
数据库 时间:
2016-06-13 19:25:05
阅读次数:
320
mysql复制原理/基于库的多线程复制原理/基于BLGC的多线程复制原理单线程主从复制:从库向主库请求binlog,并将binlog转存到自己的relaylog中,从库重做binlog里面的sql,主要由以下三个线程完成.dumpthread:在主库上,发送binlogiothread:在slave上,接收,转存,请求binlogsqlthread:..
分类:
数据库 时间:
2016-06-13 17:23:56
阅读次数:
242
定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 好处:1.保证唯一的实例 2.可以严格控制客户怎样访问它以及何时访问,即对唯一实例的受控访问 第一版: 第二版:多线程时 第三版:双重锁定(因每次调用getinstance()方法都需要lock,会影响性能) 第二个为null判断的原因: ...
分类:
其他好文 时间:
2016-06-13 17:15:07
阅读次数:
122
近期学习了线程等待和激活的相关知识。 先介绍几个api: pthread_cond_t表示多线程的条件变量,用于控制线程等待和就绪的条件。 一:条件变量的初始化: 条件变量和互斥锁一样,都有静态动态两种创建方式, 静态方式使用PTHREAD_COND_INITIALIZER常量初始化。 pthrea ...
分类:
其他好文 时间:
2016-06-13 15:28:14
阅读次数:
211
CyclicBarrier是java.util.concurrent包下的一个同步辅助类,类似于CountDownLatch,也是一个同步计数器。与CountDownLatch不同的区别是:CountDownLatch的await()方法阻塞的原因是等待调用一定次数的countDown()方法,可以在同一线程完成;CyclicBarrier的await()方法阻塞的原因..
分类:
编程语言 时间:
2016-06-13 11:51:35
阅读次数:
251