小编aoa*_*oak的帖子

C pthread mutex:`{'之前的预期表达式

我正在使用pthread库来创建两个线程.我使用两个队列在两个线程(生产者 - 消费者)之间传递数据,因此希望有一个互斥锁来同步线程中队列中的push-pops.

但我得到一个编译错误如下:

$ gcc simple-tun.c simple-tun -lpthread
simple-tun.c: In function ‘new_queue’:
simple-tun.c:920:13: error: expected expression before ‘{’ token
Run Code Online (Sandbox Code Playgroud)

我得到错误的函数是:

908 struct queue * new_queue () {
909 
910     struct queue * q;
911     q = (struct queue *) malloc (sizeof(struct queue));
912 
913     if (q == NULL)
914         return NULL;
915 
916 
917     q->head = NULL;
918     q->tail = NULL;
919     q->is_empty = 1;
920     q->mutex = PTHREAD_MUTEX_INITIALIZER;
921 
922     return q;
923 }
Run Code Online (Sandbox Code Playgroud)

结构队列是:

    struct queue { …
Run Code Online (Sandbox Code Playgroud)

c mutex pthreads

10
推荐指数
1
解决办法
8410
查看次数

如果属性不等于 DynamoDBMapper,则有条件写入项目

当您想要以下条件时,是否可以使用 DynamoDB 映射器进行条件写入/更新:如果属性不等于 X,则写入?我想做一个有条件的写,做这样的事情:

DynamoRecord record = mapper.load(DynamoRecord.class, hashKey);
if (record.getSomeAttr() != terminationValue) {
    mapper.save(newRecord);
}
Run Code Online (Sandbox Code Playgroud)

该属性始终存在。它可以有多个值并代表一个条件,在该条件之后对记录的更新应该停止。

我阅读了这篇文章AWS 文档以及一堆其他帖子,但似乎只==支持运算符和存在检查。是否可以!=使用映射器进行条件写入?如果是这样,非常感谢任何指针。

谢谢。

@notionquest 的回答摘要

  1. ComparisonOperator.NE
  2. 如果该属性是布尔值,请在使用时对其进行注释以@DynamoDBNativeBoolean获得正确的结果ExpectedAttributeValue(new AttributeValue().withBool(true))。有关详细信息,请参见此处

java amazon-web-services amazon-dynamodb

3
推荐指数
1
解决办法
5413
查看次数

标签 统计

amazon-dynamodb ×1

amazon-web-services ×1

c ×1

java ×1

mutex ×1

pthreads ×1