草庐IT

去原子

全部标签

xml - 原子饲料 : Empty Feed or 404?

我们有一个REST服务器,它根据输入查询返回Feed(ATOM)。对于某些查询参数(有效/无效),Feed包含零条目。对于零条目,应该返回空提要还是返回404?是否有标准的处理方式?任何指示都会有所帮助。 最佳答案 如果查询确实无效,即它永远无法通过您的网络应用程序的逻辑返回任何结果,那么您应该返回一个错误。如果还没有什么可报告的,那么一个空的提要是合适的。 关于xml-原子饲料:EmptyFeedor404?,我们在StackOverflow上找到一个类似的问题:

windows - 对于 64 位 Windows 上的 32 位应用程序,64 位操作是原子的吗

所以这个文件说运行64位Windows给你64位原子性:http://msdn.microsoft.com/en-us/library/windows/desktop/ms684122%28v=vs.85%29.aspx这篇文章表明您必须运行64位应用程序才能获得64位原子性:atomicityin32/64bit我正在开发Win32控制台应用程序。所以,如果我理解正确的话,我必须使用32位类型来获得原子性,对吗?我不能假设64位类型具有原子写入/读取? 最佳答案 在64位应用程序中,64位读/写操作可以是自动的,因为编译器可以利用

windows - 如何在终端中使用 "atom ."命令打开原子?

我想在命令提示符下使用atom.命令打开项目,但它说atomisnotrecognizedasaninternalorexternalcommand我该如何解决这个问题? 最佳答案 只需在打开的终端中输入**-在正确的目录中-**:atom.这就是所有人! 关于windows-如何在终端中使用"atom."命令打开原子?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/373128

windows - 共享内存段中某个位置的原子比较和交换

我想了解使用InterlockedCompareExchange()是否存在任何隐藏问题更改使用CreateFileMapping(INVALID_HANDLE_VALUE创建的段中的内存)并在多个进程之间共享。换句话说,进程是否可以依赖CAS语义来操作它们共享的内存块?我想他们可以,只是想确认一下。谢谢 最佳答案 CAS操作将与该内存完美配合。文件映射API和虚拟内存系统完成了将内存映射到多个进程的所有艰巨工作。当您接触到内存时,您已经无法将它与任何其他内存区分开来。 关于window

c++ - 导致非原子撕裂

您好,我想要一个int和float示例,它们会导致使用非原子值写入时出现撕裂。我似乎无法重现这一点。这似乎是非常罕见的事情,或者我做错了什么。这是我从未打印过的测试代码。有什么问题吗?#include#include#include#defineMAX_THREADS64#defineBUF_SIZE255DWORDWINAPIMyThreadFunction(LPVOIDlpParam);voidErrorHandler(LPTSTRlpszFunction);//Samplecustomdatastructureforthreadstouse.//Thisispassedbyvoi

c - 如果进程终止但系统继续运行, WriteFile() 会是原子的吗?

如果我的进程在随机时刻终止但操作系统继续正常运行,Windows会保证对WriteFile的个别调用吗?是原子的(又名全有或全无)?或者我可以获得部分/撕裂的写入?注意:我特意不征求有关如何练习防御性编码的建议。这是一个严格关于MicrosoftWindows操作系统本身行为的问题。要100%完美地一目了然,我们可以并且明确地确实相信用户代码的行为是正常的。没有没有未定义的行为或任何类似的行为。假定所有进程终止都是通过明确定义的行为发生的,例如未处理的异常或调用TerminateProcess,不是内存损坏等。另外,请特别注意这里不需要担心C++析构函数;这是C。我希望所有关于用户代码

windows - 整数原子的使用

StringAtoms在DDE(动态数据交换)中很有用。IntegerAtoms有什么用? 最佳答案 我所知道的唯一用途是内置对话框类名称的原子编号。MessageBox和其他人使用#32770。这就是你用来找回窗口的东西。还有一些,我高兴地忘记了它们的数量和用法。这可以追溯到1980年代,即16位Windows和极端资源限制的时代。您可以在thisanswer中看到使用此原子序号的示例代码.//ChecksifisadialogStringBuildersb=newStringBuilder(260);GetClassName(h

c++ - 如何以原子方式更新 HWND 的样式和位置?

我正在编写一个Win7桌面应用程序,并希望让它从窗口化无缝过渡到窗口化全屏(反之亦然),并且主要是通过调用SetWindowLongPtr来实现的。立即更新其样式,然后是MoveWindow更新它的大小和位置。问题是窗口闪烁一帧以显示其样式已更新,但未显示新的大小和位置。下一帧一切看起来都正确,但我正在努力避免这种单帧伪影。我试过颠倒调用API的顺序,但它只是改变了工件的外观。我也试过隐藏窗口,调用API,然后显示窗口,但这只会导致窗口消失一帧。我知道一种选择是创建一个具有所需属性的新窗口,然后销毁旧窗口,但我想找到一种更便宜的替代方法。那么有什么方法可以调用这些API,并让它们在视觉

linux - Win32 InterlockedIncrement 和 InterlockedExchange 是跨进程的原子吗?

MSDN说互锁函数提供了一种简单的机制来同步访问由多个线程共享的变量。如果变量在进程的共享内存中,我不确定它们是否跨多个进程的线程工作。同样,GNUGCC编译器内部函数又如何:__sync_add_and_fetch和__sync_lock_test_and_set? 最佳答案 这个问题本质上是两个不同答案的两个问题。对于GCC中的__sync_XXX内置函数,答案是肯定的。引用任何在线文档,如this,在描述的地方,这些内置通常会发出完整的屏障,甚至可以防止处理器管道内的内部推测负载。每个和所有多线程、多进程等共享内存对它们都是安

c++ - Windows 操作系统中的线程安全和原子读取

我的应用程序中有这段代码。我怀疑它不是线程安全的,因此决定询问SOers。int*volatileint_ptr;intcount;线程1:voidgrow(intnew_count){if(new_count线程2:intget_value(intindex){returnint_ptr[index];}我知道可以使用CRITICAL_SECTION,但线程1可能一周运行一次,而线程2一天运行数百万次。在99.99999%的访问int_ptr的尝试中,第二个线程将白白进入和退出临界区。这对我来说没有意义。该应用程序只能在Windows2000和更高版本的Intel处理器(显然是多核处