什么是互斥锁:
当一个资源被一个线程的互斥锁锁定的时候,互斥锁会保存这个线程的id,此后只有这线程能解锁这个互斥锁,在解锁之前,包括这个线程本身的所有进程都无法访问这个资源。这个资源可以是一个或多个变量。
互斥锁的使用
什么是读写锁:
读写锁对同一把读写锁上下文,有两个操作
1.读锁操作,int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock);
2.写锁操作,int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
分为三种使用情况:
1.当一个资源被写锁锁住后,在解锁之前,无论是对这把锁再执行读锁还是写锁操作,都会被阻塞。
2.当一个写锁操作A要去访问一个被锁住的资源时,无论此时锁住这个资源的是读锁还是写锁操作,那么A所在的线程都会被阻塞。
以上两种情况都是串行的,因为涉及到了写锁操作。
3.并行的情况,资源被写锁操作锁住,然后再来访问这个资源的也是写锁操作,只有这种情况下是并行的。
可以将以上三种情况概括理解为写锁操作需要独占共享资源,而读锁操作之间可以并行读共享资源。
读写锁的使用分为五步:
1.定义读写锁上下文,pthread_rwlock_t rwlock;
2.初始化读写锁,pthread_rwlock_init(&rwlock, NULL);//第二次参数为读写锁的属性,一般置为NULL
3.锁住读写锁,int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock)或int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock);
4.解开读写锁,pthread_rwlock_unlock(&rwlock); 注意两种加锁,解锁都用同一个函数
5.销毁读写锁,pthread_rwlock_destroy(&rwlock);
除此之外,为了防止死锁,linux系统接口还提供了这两种加锁的方式:
// 这个函数可以有效的避免死锁
// 如果加读锁失败, 不会阻塞当前线程, 直接返回错误号
int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock);
// 这个函数可以有效的避免死锁
// 如果加写锁失败, 不会阻塞当前线程, 直接返回错误号
int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock);
下面是5个读线程,3个写线程,每个线程执行100次,访问这8个线程的共享资源也就是全局变量number。
#include <stdio.h>
#include <unistd.h>
#include <pthread.h>
#define MAX 100
pthread_rwlock_t rwlock;
int number;//全局变量 默然为0
void* writeNum(void* param)
{
for (int i = 0; i < MAX; i++)
{
pthread_rwlock_wrlock(&rwlock);
int cur = number;
cur++;
number = cur;
printf("pid:%lu, number:%d\n", pthread_self(), number);
pthread_rwlock_unlock(&rwlock);
usleep(50);
}
return NULL;
}
void *readNum(void *param)
{
for (int i = 0; i < MAX; i++)
{
pthread_rwlock_rdlock(&rwlock);
printf("pid:%lu, number:%d\n", pthread_self(), number);
pthread_rwlock_unlock(&rwlock);
usleep(80);
}
return NULL;
}
int main(int argc, char* argv[])
{
pthread_rwlock_init(&rwlock, NULL);
pthread_t wtid[3];
pthread_t rdid[5];
for(int i = 0; i < 3; i++)
{
pthread_create(&wtid[i], NULL, writeNum, NULL);
}
for(int i = 0; i < 5; i++)
{
pthread_create(&rdid[i], NULL, readNum, NULL);
}
for(int i = 0; i < 3; i++)
{
pthread_join(wtid[i], NULL);
}
for(int i = 0; i < 5; i++)
{
pthread_join(rdid[i], NULL);
}
pthread_rwlock_destroy(&rwlock);
return 0;
}
值得注意的是,当一个线程完成释放锁时,其他在阻塞态等待的线程,哪一个线程将获得锁是随机的,因此每次打印的日志都可能不同。
打印日志如下:
pid:140074156140288, number:1
pid:140074050123520, number:1
pid:140074147747584, number:2
pid:140074130962176, number:2
pid:140074033338112, number:2
pid:140074041730816, number:2
pid:140074156140288, number:3
pid:140074024945408, number:3
pid:140074147747584, number:4
pid:140074130962176, number:4
pid:140074050123520, number:4
pid:140074041730816, number:4
pid:140074033338112, number:4
pid:140074147747584, number:5
pid:140074130962176, number:5
pid:140074050123520, number:5
pid:140074041730816, number:5
pid:140074139354880, number:6
pid:140074033338112, number:6
pid:140074147747584, number:7
pid:140074130962176, number:7
pid:140074050123520, number:7
pid:140074139354880, number:8
pid:140074041730816, number:8
pid:140074033338112, number:8
pid:140074130962176, number:8
pid:140074050123520, number:8
pid:140074041730816, number:8
pid:140074147747584, number:9
pid:140074139354880, number:10
pid:140074130962176, number:10
pid:140074050123520, number:10
pid:140074033338112, number:10
pid:140074147747584, number:11
pid:140074041730816, number:11
pid:140074147747584, number:12
pid:140074130962176, number:12
pid:140074156140288, number:13
pid:140074024945408, number:13
pid:140074050123520, number:13
pid:140074139354880, number:14
pid:140074147747584, number:15
pid:140074024945408, number:15
pid:140074050123520, number:15
pid:140074130962176, number:15
pid:140074041730816, number:15
pid:140074033338112, number:15
pid:140074147747584, number:16
pid:140074156140288, number:17
pid:140074139354880, number:18
pid:140074024945408, number:18
pid:140074050123520, number:18
pid:140074041730816, number:18
pid:140074033338112, number:18
pid:140074130962176, number:18
pid:140074156140288, number:19
pid:140074139354880, number:20
pid:140074147747584, number:21
pid:140074050123520, number:21
pid:140074024945408, number:21
pid:140074041730816, number:21
pid:140074033338112, number:21
pid:140074156140288, number:22
pid:140074130962176, number:22
pid:140074139354880, number:23
pid:140074147747584, number:24
pid:140074050123520, number:24
pid:140074156140288, number:25
pid:140074041730816, number:25
pid:140074033338112, number:25
pid:140074024945408, number:25
pid:140074139354880, number:26
pid:140074130962176, number:26
pid:140074147747584, number:27
pid:140074041730816, number:27
pid:140074033338112, number:27
pid:140074050123520, number:27
pid:140074156140288, number:28
pid:140074024945408, number:28
pid:140074130962176, number:28
pid:140074147747584, number:29
pid:140074139354880, number:30
pid:140074041730816, number:30
pid:140074050123520, number:30
pid:140074033338112, number:30
pid:140074147747584, number:31
pid:140074156140288, number:32
pid:140074024945408, number:32
pid:140074130962176, number:32
pid:140074139354880, number:33
pid:140074041730816, number:33
pid:140074147747584, number:34
pid:140074156140288, number:35
pid:140074033338112, number:35
pid:140074050123520, number:35
pid:140074139354880, number:36
pid:140074024945408, number:36
pid:140074130962176, number:36
pid:140074156140288, number:37
pid:140074147747584, number:38
pid:140074050123520, number:38
pid:140074041730816, number:38
pid:140074033338112, number:38
pid:140074139354880, number:39
pid:140074024945408, number:39
pid:140074130962176, number:39
pid:140074156140288, number:40
pid:140074147747584, number:41
pid:140074033338112, number:41
pid:140074050123520, number:41
pid:140074024945408, number:41
pid:140074041730816, number:41
pid:140074147747584, number:42
pid:140074156140288, number:43
pid:140074130962176, number:43
pid:140074139354880, number:44
pid:140074156140288, number:45
pid:140074050123520, number:45
pid:140074041730816, number:45
pid:140074033338112, number:45
pid:140074024945408, number:45
pid:140074147747584, number:46
pid:140074139354880, number:47
pid:140074130962176, number:47
pid:140074156140288, number:48
pid:140074147747584, number:49
pid:140074041730816, number:49
pid:140074033338112, number:49
pid:140074130962176, number:49
pid:140074024945408, number:49
pid:140074050123520, number:49
pid:140074156140288, number:50
pid:140074139354880, number:51
pid:140074033338112, number:51
pid:140074147747584, number:52
pid:140074156140288, number:53
pid:140074041730816, number:53
pid:140074050123520, number:53
pid:140074024945408, number:53
pid:140074130962176, number:53
pid:140074139354880, number:54
pid:140074147747584, number:55
pid:140074033338112, number:55
pid:140074156140288, number:56
pid:140074050123520, number:56
pid:140074139354880, number:57
pid:140074041730816, number:57
pid:140074024945408, number:57
pid:140074147747584, number:58
pid:140074130962176, number:58
pid:140074156140288, number:59
pid:140074033338112, number:59
pid:140074139354880, number:60
pid:140074041730816, number:60
pid:140074130962176, number:60
pid:140074024945408, number:60
pid:140074147747584, number:61
pid:140074050123520, number:61
pid:140074139354880, number:62
pid:140074156140288, number:63
pid:140074033338112, number:63
pid:140074041730816, number:63
pid:140074147747584, number:64
pid:140074024945408, number:64
pid:140074050123520, number:64
pid:140074139354880, number:65
pid:140074156140288, number:66
pid:140074147747584, number:67
pid:140074033338112, number:67
pid:140074041730816, number:67
pid:140074024945408, number:67
pid:140074050123520, number:67
pid:140074033338112, number:67
pid:140074050123520, number:67
pid:140074024945408, number:67
pid:140074041730816, number:67
pid:140074033338112, number:67
pid:140074050123520, number:67
pid:140074024945408, number:67
pid:140074041730816, number:67
pid:140074033338112, number:67
pid:140074050123520, number:67
pid:140074024945408, number:67
pid:140074041730816, number:67
pid:140074050123520, number:67
pid:140074033338112, number:67
pid:140074024945408, number:67
pid:140074041730816, number:67
pid:140074033338112, number:67
pid:140074024945408, number:67
pid:140074041730816, number:67
pid:140074050123520, number:67
pid:140074130962176, number:67
pid:140074156140288, number:68
pid:140074139354880, number:69
pid:140074033338112, number:69
pid:140074147747584, number:70
pid:140074024945408, number:70
pid:140074050123520, number:70
pid:140074041730816, number:70
pid:140074156140288, number:71
pid:140074147747584, number:72
pid:140074139354880, number:73
pid:140074130962176, number:73
pid:140074033338112, number:73
pid:140074024945408, number:73
pid:140074050123520, number:73
pid:140074041730816, number:73
pid:140074156140288, number:74
pid:140074139354880, number:75
pid:140074147747584, number:76
pid:140074050123520, number:76
pid:140074033338112, number:76
pid:140074041730816, number:76
pid:140074024945408, number:76
pid:140074156140288, number:77
pid:140074139354880, number:78
pid:140074147747584, number:79
pid:140074050123520, number:79
pid:140074139354880, number:80
pid:140074156140288, number:81
pid:140074024945408, number:81
pid:140074041730816, number:81
pid:140074033338112, number:81
pid:140074147747584, number:82
pid:140074156140288, number:83
pid:140074139354880, number:84
pid:140074050123520, number:84
pid:140074024945408, number:84
pid:140074041730816, number:84
pid:140074033338112, number:84
pid:140074147747584, number:85
pid:140074139354880, number:86
pid:140074156140288, number:87
pid:140074130962176, number:87
pid:140074139354880, number:88
pid:140074147747584, number:89
pid:140074033338112, number:89
pid:140074041730816, number:89
pid:140074024945408, number:89
pid:140074130962176, number:89
pid:140074050123520, number:89
pid:140074033338112, number:89
pid:140074041730816, number:89
pid:140074139354880, number:90
pid:140074156140288, number:91
pid:140074147747584, number:92
pid:140074050123520, number:92
pid:140074156140288, number:93
pid:140074147747584, number:94
pid:140074130962176, number:94
pid:140074139354880, number:95
pid:140074024945408, number:95
pid:140074033338112, number:95
pid:140074041730816, number:95
pid:140074050123520, number:95
pid:140074156140288, number:96
pid:140074147747584, number:97
pid:140074130962176, number:97
pid:140074033338112, number:97
pid:140074024945408, number:97
pid:140074041730816, number:97
pid:140074139354880, number:98
pid:140074156140288, number:99
pid:140074147747584, number:100
pid:140074050123520, number:100
pid:140074139354880, number:101
pid:140074130962176, number:101
pid:140074033338112, number:101
pid:140074041730816, number:101
pid:140074024945408, number:101
pid:140074156140288, number:102
pid:140074147747584, number:103
pid:140074050123520, number:103
pid:140074139354880, number:104
pid:140074130962176, number:104
pid:140074156140288, number:105
pid:140074147747584, number:106
pid:140074033338112, number:106
pid:140074041730816, number:106
pid:140074024945408, number:106
pid:140074139354880, number:107
pid:140074147747584, number:108
pid:140074050123520, number:108
pid:140074130962176, number:108
pid:140074156140288, number:109
pid:140074033338112, number:109
pid:140074041730816, number:109
pid:140074024945408, number:109
pid:140074147747584, number:110
pid:140074139354880, number:111
pid:140074156140288, number:112
pid:140074050123520, number:112
pid:140074130962176, number:112
pid:140074147747584, number:113
pid:140074139354880, number:114
pid:140074041730816, number:114
pid:140074033338112, number:114
pid:140074024945408, number:114
pid:140074156140288, number:115
pid:140074147747584, number:116
pid:140074050123520, number:116
pid:140074130962176, number:116
pid:140074139354880, number:117
pid:140074156140288, number:118
pid:140074147747584, number:119
pid:140074041730816, number:119
pid:140074033338112, number:119
pid:140074024945408, number:119
pid:140074139354880, number:120
pid:140074050123520, number:120
pid:140074139354880, number:121
pid:140074130962176, number:121
pid:140074156140288, number:122
pid:140074147747584, number:123
pid:140074033338112, number:123
pid:140074041730816, number:123
pid:140074024945408, number:123
pid:140074139354880, number:124
pid:140074156140288, number:125
pid:140074147747584, number:126
pid:140074130962176, number:126
pid:140074050123520, number:126
pid:140074033338112, number:126
pid:140074041730816, number:126
pid:140074156140288, number:127
pid:140074147747584, number:128
pid:140074024945408, number:128
pid:140074139354880, number:129
pid:140074050123520, number:129
pid:140074130962176, number:129
pid:140074147747584, number:130
pid:140074139354880, number:131
pid:140074156140288, number:132
pid:140074033338112, number:132
pid:140074041730816, number:132
pid:140074024945408, number:132
pid:140074139354880, number:133
pid:140074147747584, number:134
pid:140074156140288, number:135
pid:140074050123520, number:135
pid:140074033338112, number:135
pid:140074130962176, number:135
pid:140074041730816, number:135
pid:140074139354880, number:136
pid:140074024945408, number:136
pid:140074156140288, number:137
pid:140074147747584, number:138
pid:140074050123520, number:138
pid:140074033338112, number:138
pid:140074130962176, number:138
pid:140074041730816, number:138
pid:140074139354880, number:139
pid:140074156140288, number:140
pid:140074147747584, number:141
pid:140074024945408, number:141
pid:140074139354880, number:142
pid:140074130962176, number:142
pid:140074050123520, number:142
pid:140074033338112, number:142
pid:140074041730816, number:142
pid:140074156140288, number:143
pid:140074147747584, number:144
pid:140074139354880, number:145
pid:140074024945408, number:145
pid:140074156140288, number:146
pid:140074147747584, number:147
pid:140074033338112, number:147
pid:140074130962176, number:147
pid:140074041730816, number:147
pid:140074050123520, number:147
pid:140074139354880, number:148
pid:140074024945408, number:148
pid:140074156140288, number:149
pid:140074147747584, number:150
pid:140074139354880, number:151
pid:140074041730816, number:151
pid:140074033338112, number:151
pid:140074050123520, number:151
pid:140074130962176, number:151
pid:140074156140288, number:152
pid:140074139354880, number:153
pid:140074147747584, number:154
pid:140074024945408, number:154
pid:140074041730816, number:154
pid:140074033338112, number:154
pid:140074139354880, number:155
pid:140074050123520, number:155
pid:140074130962176, number:155
pid:140074156140288, number:156
pid:140074147747584, number:157
pid:140074139354880, number:158
pid:140074156140288, number:159
pid:140074024945408, number:159
pid:140074041730816, number:159
pid:140074033338112, number:159
pid:140074130962176, number:159
pid:140074050123520, number:159
pid:140074147747584, number:160
pid:140074139354880, number:161
pid:140074156140288, number:162
pid:140074024945408, number:162
pid:140074033338112, number:162
pid:140074147747584, number:163
pid:140074139354880, number:164
pid:140074041730816, number:164
pid:140074130962176, number:164
pid:140074050123520, number:164
pid:140074156140288, number:165
pid:140074147747584, number:166
pid:140074156140288, number:167
pid:140074033338112, number:167
pid:140074139354880, number:168
pid:140074024945408, number:168
pid:140074041730816, number:168
pid:140074050123520, number:168
pid:140074130962176, number:168
pid:140074147747584, number:169
pid:140074156140288, number:170
pid:140074033338112, number:170
pid:140074139354880, number:171
pid:140074024945408, number:171
pid:140074041730816, number:171
pid:140074130962176, number:171
pid:140074050123520, number:171
pid:140074156140288, number:172
pid:140074147747584, number:173
pid:140074033338112, number:173
pid:140074024945408, number:173
pid:140074139354880, number:174
pid:140074041730816, number:174
pid:140074147747584, number:175
pid:140074156140288, number:176
pid:140074130962176, number:176
pid:140074050123520, number:176
pid:140074139354880, number:177
pid:140074033338112, number:177
pid:140074024945408, number:177
pid:140074147747584, number:178
pid:140074050123520, number:178
pid:140074130962176, number:178
pid:140074041730816, number:178
pid:140074156140288, number:179
pid:140074139354880, number:180
pid:140074033338112, number:180
pid:140074147747584, number:181
pid:140074024945408, number:181
pid:140074156140288, number:182
pid:140074147747584, number:183
pid:140074139354880, number:184
pid:140074041730816, number:184
pid:140074050123520, number:184
pid:140074130962176, number:184
pid:140074033338112, number:184
pid:140074139354880, number:185
pid:140074024945408, number:185
pid:140074147747584, number:186
pid:140074156140288, number:187
pid:140074041730816, number:187
pid:140074050123520, number:187
pid:140074130962176, number:187
pid:140074139354880, number:188
pid:140074147747584, number:189
pid:140074033338112, number:189
pid:140074156140288, number:190
pid:140074024945408, number:190
pid:140074147747584, number:191
pid:140074050123520, number:191
pid:140074139354880, number:192
pid:140074041730816, number:192
pid:140074156140288, number:193
pid:140074033338112, number:193
pid:140074024945408, number:193
pid:140074147747584, number:194
pid:140074050123520, number:194
pid:140074139354880, number:195
pid:140074156140288, number:196
pid:140074041730816, number:196
pid:140074130962176, number:196
pid:140074033338112, number:196
pid:140074156140288, number:197
pid:140074050123520, number:197
pid:140074041730816, number:197
pid:140074130962176, number:197
pid:140074033338112, number:197
pid:140074156140288, number:198
pid:140074041730816, number:198
pid:140074050123520, number:198
pid:140074130962176, number:198
pid:140074033338112, number:198
pid:140074041730816, number:198
pid:140074156140288, number:199
pid:140074147747584, number:200
pid:140074024945408, number:200
pid:140074139354880, number:201
pid:140074050123520, number:201
pid:140074156140288, number:202
pid:140074033338112, number:202
pid:140074041730816, number:202
pid:140074130962176, number:202
pid:140074024945408, number:202
pid:140074147747584, number:203
pid:140074050123520, number:203
pid:140074139354880, number:204
pid:140074156140288, number:205
pid:140074024945408, number:205
pid:140074041730816, number:205
pid:140074130962176, number:205
pid:140074050123520, number:205
pid:140074033338112, number:205
pid:140074139354880, number:206
pid:140074156140288, number:207
pid:140074147747584, number:208
pid:140074024945408, number:208
pid:140074041730816, number:208
pid:140074147747584, number:209
pid:140074050123520, number:209
pid:140074130962176, number:209
pid:140074033338112, number:209
pid:140074156140288, number:210
pid:140074139354880, number:211
pid:140074139354880, number:212
pid:140074024945408, number:212
pid:140074041730816, number:212
pid:140074033338112, number:212
pid:140074050123520, number:212
pid:140074130962176, number:212
pid:140074156140288, number:213
pid:140074147747584, number:214
pid:140074139354880, number:215
pid:140074024945408, number:215
pid:140074156140288, number:216
pid:140074041730816, number:216
pid:140074050123520, number:216
pid:140074130962176, number:216
pid:140074033338112, number:216
pid:140074147747584, number:217
pid:140074139354880, number:218
pid:140074156140288, number:219
pid:140074024945408, number:219
pid:140074130962176, number:219
pid:140074050123520, number:219
pid:140074147747584, number:220
pid:140074139354880, number:221
pid:140074041730816, number:221
pid:140074033338112, number:221
pid:140074156140288, number:222
pid:140074130962176, number:222
pid:140074050123520, number:222
pid:140074024945408, number:222
pid:140074147747584, number:223
pid:140074139354880, number:224
pid:140074041730816, number:224
pid:140074156140288, number:225
pid:140074033338112, number:225
pid:140074130962176, number:225
pid:140074050123520, number:225
pid:140074024945408, number:225
pid:140074147747584, number:226
pid:140074156140288, number:227
pid:140074139354880, number:228
pid:140074041730816, number:228
pid:140074033338112, number:228
pid:140074147747584, number:229
pid:140074156140288, number:230
pid:140074130962176, number:230
pid:140074024945408, number:230
pid:140074041730816, number:230
pid:140074050123520, number:230
pid:140074139354880, number:231
pid:140074033338112, number:231
pid:140074156140288, number:232
pid:140074147747584, number:233
pid:140074139354880, number:234
pid:140074130962176, number:234
pid:140074050123520, number:234
pid:140074041730816, number:234
pid:140074024945408, number:234
pid:140074147747584, number:235
pid:140074033338112, number:235
pid:140074139354880, number:236
pid:140074041730816, number:236
pid:140074050123520, number:236
pid:140074130962176, number:236
pid:140074147747584, number:237
pid:140074139354880, number:238
pid:140074033338112, number:238
pid:140074024945408, number:238
pid:140074147747584, number:239
pid:140074050123520, number:239
pid:140074130962176, number:239
pid:140074041730816, number:239
pid:140074139354880, number:240
pid:140074033338112, number:240
pid:140074024945408, number:240
pid:140074050123520, number:240
pid:140074147747584, number:241
pid:140074156140288, number:242
pid:140074130962176, number:242
pid:140074139354880, number:243
pid:140074041730816, number:243
pid:140074033338112, number:243
pid:140074147747584, number:244
pid:140074024945408, number:244
pid:140074050123520, number:244
pid:140074156140288, number:245
pid:140074139354880, number:246
pid:140074130962176, number:246
pid:140074041730816, number:246
pid:140074156140288, number:247
pid:140074147747584, number:248
pid:140074033338112, number:248
pid:140074024945408, number:248
pid:140074139354880, number:249
pid:140074050123520, number:249
pid:140074130962176, number:249
pid:140074156140288, number:250
pid:140074139354880, number:251
pid:140074147747584, number:252
pid:140074041730816, number:252
pid:140074024945408, number:252
pid:140074033338112, number:252
pid:140074050123520, number:252
pid:140074139354880, number:253
pid:140074147747584, number:254
pid:140074156140288, number:255
pid:140074130962176, number:255
pid:140074041730816, number:255
pid:140074156140288, number:256
pid:140074024945408, number:256
pid:140074033338112, number:256
pid:140074139354880, number:257
pid:140074147747584, number:258
pid:140074050123520, number:258
pid:140074130962176, number:258
pid:140074041730816, number:258
pid:140074024945408, number:258
pid:140074156140288, number:259
pid:140074139354880, number:260
pid:140074147747584, number:261
pid:140074033338112, number:261
pid:140074050123520, number:261
pid:140074130962176, number:261
pid:140074156140288, number:262
pid:140074147747584, number:263
pid:140074139354880, number:264
pid:140074024945408, number:264
pid:140074041730816, number:264
pid:140074033338112, number:264
pid:140074050123520, number:264
pid:140074156140288, number:265
pid:140074130962176, number:265
pid:140074139354880, number:266
pid:140074147747584, number:267
pid:140074156140288, number:268
pid:140074050123520, number:268
pid:140074041730816, number:268
pid:140074033338112, number:268
pid:140074139354880, number:269
pid:140074024945408, number:269
pid:140074147747584, number:270
pid:140074130962176, number:270
pid:140074156140288, number:271
pid:140074041730816, number:271
pid:140074147747584, number:272
pid:140074139354880, number:273
pid:140074156140288, number:274
pid:140074033338112, number:274
pid:140074130962176, number:274
pid:140074050123520, number:274
pid:140074024945408, number:274
pid:140074147747584, number:275
pid:140074130962176, number:275
pid:140074139354880, number:276
pid:140074041730816, number:276
pid:140074050123520, number:276
pid:140074033338112, number:276
pid:140074156140288, number:277
pid:140074024945408, number:277
pid:140074147747584, number:278
pid:140074139354880, number:279
pid:140074041730816, number:279
pid:140074130962176, number:279
pid:140074156140288, number:280
pid:140074147747584, number:281
pid:140074050123520, number:281
pid:140074024945408, number:281
pid:140074033338112, number:281
pid:140074139354880, number:282
pid:140074156140288, number:283
pid:140074147747584, number:284
pid:140074050123520, number:284
pid:140074024945408, number:284
pid:140074041730816, number:284
pid:140074033338112, number:284
pid:140074130962176, number:284
pid:140074139354880, number:285
pid:140074156140288, number:286
pid:140074147747584, number:287
pid:140074050123520, number:287
pid:140074024945408, number:287
pid:140074139354880, number:288
pid:140074033338112, number:288
pid:140074041730816, number:288
pid:140074130962176, number:288
pid:140074156140288, number:289
pid:140074147747584, number:290
pid:140074139354880, number:291
pid:140074050123520, number:291
pid:140074033338112, number:291
pid:140074024945408, number:291
pid:140074041730816, number:291
pid:140074156140288, number:292
pid:140074130962176, number:292
pid:140074139354880, number:293
pid:140074033338112, number:293
pid:140074050123520, number:293
pid:140074156140288, number:294
pid:140074024945408, number:294
pid:140074041730816, number:294
pid:140074139354880, number:295
pid:140074130962176, number:295
pid:140074156140288, number:296
pid:140074033338112, number:296
pid:140074050123520, number:296
pid:140074139354880, number:297
pid:140074130962176, number:297
pid:140074041730816, number:297
pid:140074024945408, number:297
pid:140074156140288, number:298
pid:140074033338112, number:298
pid:140074024945408, number:298
pid:140074139354880, number:299
pid:140074050123520, number:299
pid:140074130962176, number:299
pid:140074041730816, number:299
pid:140074156140288, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074050123520, number:300
pid:140074130962176, number:300
pid:140074041730816, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074050123520, number:300
pid:140074041730816, number:300
pid:140074130962176, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074050123520, number:300
pid:140074041730816, number:300
pid:140074130962176, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074050123520, number:300
pid:140074041730816, number:300
pid:140074130962176, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074050123520, number:300
pid:140074041730816, number:300
pid:140074130962176, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074050123520, number:300
pid:140074130962176, number:300
pid:140074041730816, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074050123520, number:300
pid:140074041730816, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074041730816, number:300
pid:140074050123520, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074041730816, number:300
pid:140074130962176, number:300
pid:140074033338112, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074130962176, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300
pid:140074024945408, number:300
pid:140074130962176, number:300