对于家庭作业,我需要编写以下场景.这将使用BACI(即C--)使用信号量来完成
有2个男女皆宜的洗手间,每个可容纳4人.由于它是男女皆宜的,只有同性的人可以同时在洗手间,而FIFO并不重要.我脑子里有一个基本的"算法"来处理4个男人和4个女人的1个厕所.但我不知道如何编码.任何帮助将不胜感激.这就是我所拥有的.
Woman:
Check to see if there are any men in the restroom. If so "wait".
If no men check to see if there are 4 people. If so "wait".
If no men and not 4 use restroom. When leaving signal there is a vacancy.
If last woman signal the men if they are waiting if not signal the woman.
Man:
check to see if there are any woman in the restroom. if so "wait"
If no woman check …Run Code Online (Sandbox Code Playgroud) 我正在RHEL 5上构建OpenLDAP; 我使用了http://www.linux.com/archive/feature/113607上的说明.
一切顺利,直到为OpenLDAP运行'./configure' - 记录了以下错误:
*<earlier output snipped>*
checking for gethostbyaddr_r... yes
checking number of arguments of ctime_r... 2
checking number of arguments of gethostbyname_r... 6
checking number of arguments of gethostbyaddr_r... 8
checking db.h usability... yes
checking db.h presence... yes
checking for db.h... yes
checking for Berkeley DB major version in db.h... 5
checking for Berkeley DB minor version in db.h... 1
checking if Berkeley DB version supported by BDB/HDB backends... yes
**checking for Berkeley DB …Run Code Online (Sandbox Code Playgroud) 我试图通过替换一些synchronized块来减少代码中的线程争用AtomicBoolean.
这是一个例子synchronized:
public void toggleCondition() {
synchronized (this.mutex) {
if (this.toggled) {
return;
}
this.toggled = true;
// do other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
替代方案AtomicBoolean:
public void toggleCondition() {
if (!this.condition.getAndSet(true)) {
// do other stuff
}
}
Run Code Online (Sandbox Code Playgroud)
利用AtomicBooleanCAS的属性应该比依赖同步更快,所以我运行了一些微基准测试.
对于10个并发线程和1000000次迭代,AtomicBoolean只比synchronized块快一点.
使用AtomicBoolean:0.0338在toggleCondition()上花费的平均时间(每个线程)
使用synchronized:0.0357在toggleCondition()上花费的平均时间(每个线程)
我知道微基准值得他们值得,但差异不应该更高吗?
使用werkzeug作为一个Web框架(这是伟大而简单的,但不支持一些功能),我现在尝试cherrypy.
现在我想念樱桃是werkzeug优雅的方式来构建网址(例如模板中的链接)使用这样的装饰函数的名称:
@expose('/archive/<int:year>/<int:month>')
def archive(request, year, month):
pass
>>> url_for('archive',2010,04)
'/archive/2010/04'
Run Code Online (Sandbox Code Playgroud)
我没有找到类似的方式樱桃,我想念它吗?
我正在尝试创建图形轴标签 - 物理文本.我知道如何获取标签并使用GDI打印它们,但我的算法不能很好地使用小数步骤进行打印.
要打印标签,我目前获得第一个标签,然后为每个标签添加一个步骤:
public static void PrintLabels(double start, double end, double step);
{
double current = start;
while (current <= end)
{
gfx.DrawString(current.ToString(),...);
current += step;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有number.ToString("something")将打印出小数,如果他们在那里,否则只是整体的一部分?我首先检查开始,结束或步骤是否包含小数部分,然后如果是,则打印所有带小数的标签.
为什么Python集的迭代顺序(具有相同的内容)因运行而异,以及从运行到运行使其一致的选项是什么?
我知道Python集的迭代顺序是任意的.如果我将'a','b'和'c'放入一个集合然后迭代它们,它们可能会以任何顺序返回.
我观察到的是,在一个程序的运行中,顺序保持不变.也就是说,如果我的程序连续两次迭代同一个集合,那么我两次都得到相同的顺序.但是,如果我连续两次运行程序,则顺序会从运行更改为运行.
不幸的是,这打破了我的一个自动化测试,它简单地比较了我的程序的两次运行的输出.我不关心实际的顺序,但我希望它在运行之间保持一致.
我提出的最佳解决方案是:
有更简单的解决方案吗?
注意:我在StackOverlow上发现了类似的问题,但是没有一个能解决从运行到运行获得相同结果的特定问题.
根据这个最初的想法,你们许多人可能已经看过:http: //rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
我想尝试采用不同的方法:
你有一个目标图像.假设您可以一次添加一个三角形.存在一些最大化图像相似性(适应度函数)的三角形(或在平局的情况下为三角形).如果你可以通过所有可能的形状和颜色蛮力,你会发现它.但这太昂贵了.搜索所有三角形是一个10维空间:x1, y1, x2, y2, x3, y3, r, g, b, a.
我使用模拟退火效果非常好.但我想知道我是否可以进一步改进.一种想法是实际分析目标图像和当前图像之间的图像差异,并寻找可能是放置新三角形的好地方的"热点".
您将使用什么算法来找到最大化图像相似度的最佳三角形(或其他形状)?
该算法是否应该以不同方式处理粗略细节和细节?我没有让它运行足够长的时间来开始改进更精细的图像细节.在运行的时间越长,它似乎变得"害羞"...它使用低alpha值(非常透明的形状).
目标图像和再现图像(28个三角形):

编辑!我有了一个新主意.如果给出形状坐标和α值,则可以通过分析当前图像和目标图像中的像素来计算形状的最佳RGB颜色.这样就消除了搜索空间中的3个维度,并且您知道您使用的颜色始终是最佳的!我已经实现了这个,并尝试使用圆而不是三角形进行另一次运行.
300个圆圈和300个三角形:

language-agnostic algorithm graphics optimization simulated-annealing
我从昨天开始玩MongoDB并且非常喜欢它.我正在尝试导入大量数据(20亿行)并对其进行索引,但它似乎没有使用我的系统所具有的8个核心,导入正常率(60000记录/秒).我只能想象在这个集合中索引两列可能需要多长时间.是否有任何MondoDB类型的数据库利用CPU的多核特性?
我正在使用Apache2,MySQL 5和PHP 5.3.2在新构建的Ubuntu服务器上工作.在配置中似乎有些不完整.当我调用phpinfo()时,其中没有MySQL部分.但是,"解析附加.ini文件"部分显示"/etc/php5/apache2/conf.d/mysql.ini,/etc/php5/apache2/conf.d/mysqli.ini,/ etc/php5/apache2/conf.d/pdo.ini,/ etc/php5/apache2/conf.d/pdo_mysql.ini"
在我的研究中,我看到了在PHP .ini文件中取消注释扩展行的引用,但我在.ini中看不到任何类似的行.
我一直在远程GUI中使用MySQL一周没有问题,所以我知道数据库安装没问题.PHP运行完全正常,除了不与MySQL交谈.
任何建议将不胜感激.
感谢您抽出宝贵时间阅读我的问题.保罗
App Engine版本号如何工作?它们只是整数吗?我可以使用花车吗?我可以重用旧版本号码吗?