我正在UNIX和C++中使用线程进行项目.基本上有一个生产者线程和5个消费者线程.生产者线程在随机时间将递增的数字添加到队列中,并且消费者线程轮询q尝试将其删除.由于某种原因,我的q.size()继续消极,我无法弄清楚为什么.
#include <queue>
#include <list>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
using namespace std;
#define NUM_CONSUMER_THREADS 5
#define NUM_PRODUCER_THREADS 1
#define BUFFER_SIZE 20
void *c_thread_function(void *arg);
void *p_thread_function(void *arg);
queue<int> q;
int produce(int cur)
{
int temp = cur + 1;
return temp;
}
void append(int num)
{
if ( q.size() < BUFFER_SIZE )
{
q.push(num);
}
}
int take()
{
int removed = q.front();
q.pop();
sleep(1);
return removed;
}
void consume(int num, int thread)
{ …Run Code Online (Sandbox Code Playgroud) 在wicket中创建TextField的优雅方法是什么,除了使用SimpleAttributeModifier手动设置组件的"value"属性之外,还使用默认值进行渲染?
例如,这有效:
TextField<String> headline = new TextField<String>("headline", new PropertyModel(backingObject, "headline"));
headline.add(new SimpleAttributeModifier("value", "default value"));
add(headline);
Run Code Online (Sandbox Code Playgroud)
但有更好的方法吗?
在一般情况下,使用NSDateFormatter解析rfc3339日期似乎是不可能的.我错了吗?[编辑2年后:现在有办法!见下文和脚注.]
一个不特别具有可塑性的网络服务正在为我提供如下日期:
2009-12-31T00:00:00-06:00
Run Code Online (Sandbox Code Playgroud)
符合Rfc3339,是他们正在使用的jaxb库的默认输出.注意冒号,当偏移量不是文字"z"时,rfc3339 需要冒号:
Run Code Online (Sandbox Code Playgroud)time-numoffset = ("+" / "-") time-hour ":" time-minute time-offset = "Z" / time-numoffset
我想将这些解析为NSDates.
NSDateFormatter需要Unicode指定的语法模式,它为时区提供日期字段符号,如"PDT"," - 0800","GMT-08:00"但不是"-08:00".
谷歌搜索和其他类似的SO问题只产生日期格式
[myDateParser setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ssZ"];
/* or: */ [myDateParser setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"];
Run Code Online (Sandbox Code Playgroud)
后者需要字面上的"Z",前者坚持要么没有结肠,要么存在"GMT".但是,它们似乎在ios 4.x之前工作(可能完全丢弃tz偏移量;我的数据不清楚.)
我在这一点上的选择很遗憾:
strptime_l:工作.:)我是否准确理解了这种情况,当前的NSDateFormatter严格遵循unicode而没有扩展; 并且unicode格式不足以完全描述rfc3339的日期?
[脚注]三年后我回到这个小小的附录:Unicode和Apple已经将这个功能添加到格式字符串中,从iOS6/OSX10.8开始.比较撰写本文时的最新版本与其前一版本,并注意添加5"Z",产生类似"-08:00"的区域格式.因此,如果您能够放弃对5.x/10.7的弃用支持,那么有一种新的正确方法可以做到这一点.我将离开之前的答案,因为它仍然是需要向后兼容性的最佳方法.
我试图从我的App.config文件中检索存储在我的工作目录中的值,但是当我运行程序时它返回null.我很困惑为什么会这样,并且多次查看代码以试图发现错误.
这是我的App.config文件代码:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="provider" value="System.Data.SqlClient" />
</appSettings>
<connectionStrings>
<add name="connection" connectionString="Data Source=(local)\SQLEXPRESS;Initial Catalog=Autos;Integrated Security=True;Pooling=False" />
</connectionStrings>
</configuration>
Run Code Online (Sandbox Code Playgroud)
这是我的C#代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.Common;
namespace DataProviderFun
{
class Program
{
static void Main(string[] args)
{
string p = ConfigurationManager.AppSettings["provider"];
string c = ConfigurationManager.ConnectionStrings["connection"].ConnectionString;
...
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,p = null和c = null.
我引用了System.Configuration.dll.
基本上我希望文本淡入,延迟3秒然后fadeOut.以下代码立即淡出,然后不会淡入3秒.
$('#temp').fadeIn('slow', function () {
$('#temp').html(response);
}).fadeOut('slow').delay('3000');
Run Code Online (Sandbox Code Playgroud) 我有一个表格,有一堆字段,然后我有一个:
profile_image=forms.ImageField(required=False)
Run Code Online (Sandbox Code Playgroud)
问题是在form.is_valid()检查之后,
form.cleaned_data.get('first_name')
Run Code Online (Sandbox Code Playgroud)
例如,DOES返回实际名称,但是,
form.cleaned_data.get('profile_image')
Run Code Online (Sandbox Code Playgroud)
不会返回任何东西.
在print(request.POST)输出中,我得到了
u'profile_image': [u'02 Portfolio Page.jpg']
Run Code Online (Sandbox Code Playgroud)
但在print(form.cleaned_data)中,我得到:
'profile_image': None
Run Code Online (Sandbox Code Playgroud)
为什么文件在is_valid检查时丢失了?我该怎么办?
更新:
class NewChickForm(forms.Form):
first_name = forms.CharField()
last_name = forms.CharField()
profile_image=forms.ImageField(required=False)
def do_save(self):
u = Subject(
first_name = self.cleaned_data.get('first_name'),
last_name = self.cleaned_data.get('last_name'),
profile_image = self.cleaned_data.get('profile_image'),
)
print(self.cleaned_data)
u.save()
return u
Run Code Online (Sandbox Code Playgroud)
和
s = Subject()
form = NewChickForm(request.POST) # 1)do i add here `request.FILES` ?
if form.is_valid():
s = form.do_save()
# 2) s.profile_image = form.cleaned_data.get('profile_image')?
Run Code Online (Sandbox Code Playgroud)
即使我做#1)和#2),我仍然没有
在使用git-svn下拉(相当大)的svn repo的过程中,我遇到了以下错误消息(替换为真实信息的通用信息):
Found possible branch point: svn://server/project/trunk/dir => svn://server/project/branches/branchname, <revision>
Initializing parent: refs/remotes/branchname@<revision>
project/trunk/dir/file was not found in commit <hash> (r<revision>)
Run Code Online (Sandbox Code Playgroud)
我在其他帖子中读过,可以通过一些修补来"取消"这些信息.但是,我宁愿不要失去历史,尽可能无痛地前进.
我怎样才能git-svn fetch继续?
我有一个大文档 - 我需要解析它并只吐出这部分:schule.php?schulnr = 80287&lschb =
我该怎么解析这些东西!?
<td>
<A HREF="schule.php?schulnr=80287&lschb=" target="_blank">
<center><img border=0 height=16 width=15 src="sh_info.gif"></center>
</A>
</td>
Run Code Online (Sandbox Code Playgroud)
期待您的来信
给定由纬度/经度/高程对组成的高程图,找到给定高程水平以上的所有点的最快方法是什么(或者更好的是,只有2D凹面船体)?
我正在开发一个GIS应用程序,我需要在地图上方渲染一个叠加层,以直观地指示高程别的区域; 它正在确定这个多边形/区域让我难倒(现在).我有一个简单的纬度/经度/高程对数组(更具体地说,GTOPO30 DEM文件),但我可以自由地将其转换为您建议的任何数据结构.
我们已经指出了三角网不规则网络(TIN),但是我不确定在生成TIN之后如何有效地查询这些数据.如果我们的问题可以像人们如何生成等高线图那样解决,我也不会感到惊讶,但我没有任何经验.任何建议都会很棒.
有了maven,有可能有一个顶级项目的包装类型是"war",它将构建自己及其所有依赖模块(打包为jar)并让build生成一个project.war文件?
我见过的大部分文档示例和其他示例经常使用包装类型为"pom"的顶级项目,该项目仅用于将模块绑定在一起.我可以避免这个吗?
所以基本上我需要的东西实际上就像声明一个<module>my-module</module>maven来构建一样,并且在同一个POM中,声明一个<dependency>...my-module's artifact...</dependency>需要构建的同一个模块.也许有人建议的插件?
更新:换句话说(为了简化问题):如果我有,project A并且project B在哪里project A依赖project B- 是否有一种方法可以让我执行构建project A并自动构建project B(并包含project B其依赖性 - 创建projectA.war,包含projectB.jar)?