fourier307
fourier307
The errstr of redisContext is "Server closed the connection".
编译器优化的那个例子,pthread库,好像不用volatile。 https://stackoverflow.com/questions/3208060/does-guarding-a-variable-with-a-pthread-mutex-guarantee-its-also-not-cached
另外,不少人说 多线程不用加 volatile https://stackoverflow.com/questions/35345899/why-is-volatile-keyword-not-needed-for-thread-synchronisation
> @Liam0205 > > @fourier307 > > 编译器优化的那个例子,pthread库,好像不用volatile。 > > https://stackoverflow.com/questions/3208060/does-guarding-a-variable-with-a-pthread-mutex-guarantee-its-also-not-cached > > 这里说的 cache 是 CPU 缓存。我说的用 ``volatile`` 解决的是寄存器的问题,不是缓存的问题。 > > 缓存的问题,我这几天也在整理。最近会写一篇,你可以关注一下。 越说越懵逼了,我理解像这篇文章说的,lock语义本身会保证内存的可见性,也就是只要在lock保护下,thread 1更新了变量x,thread 2一定是可以看到这个更新的,不需要加volatile,如果thread 2读的是寄存器里面的旧值,应该是不符合lock语义的。 https://stackoverflow.com/questions/35345899/why-is-volatile-keyword-not-needed-for-thread-synchronisation 我再捋捋。。。
> @Liam0205 > @fourier307 C++ 里的 ``volatile`` 和多线程没有关系,在 Java 当中它可以保证操作的原子性和顺序一致性。 > > 文中提到 ``volatile`` 是用来阻止一些编译器优化:防止写入寄存器而不写回内存;防止编译器乱序。提到 ``volatile`` 跟多线程同步本身没关系。 > > C++ 的 ``volatile`` 可以阻止编译器乱序,但是不能阻止 CPU 的乱序执行(OOO)。这是 ``volatile`` 不能用于 C++ 里的线程同步的原因。当然,MSVC 的...
关键是平常没见几个人用volatile
> @Liam0205 > @fourier307 还有一个问题。这篇文章其实是不基于任何特定架构的。在 x86 限定下的话,其实这里很多都不对。 > > ``volatile`` 的话,如果不接触驱动编程,可能一般就是用不着。 多谢,大概明白了。volatile那一段有比较大的前提限制,大部分其他情况并不会有问题。 “Basically whenever dealing with memory that is not under the control of your program (hardware registers, memory mapped...
在知乎看到一个类似问题,又绕回来了。 我认为文中的公式是个近似公式,找个房贷计算器,选择等额本息,按年化14.62%算,每个月还款额是108.09, 比文中要高,按年化14.31%算,每个月还款额是107.92。 原因在于实际还款方式是等额本息(每个月还的钱一样多),而文中算平均每月应还本金是用的等额本金来计算的,有偏差。 那公式应该是啥,我算不出来。。。 我理解问题相当于等额本息方式,已知总金额、每期还款额、还款期数,求利率。 直接反解等额本息的还款公式就行,可惜还款公式里面有k次幂计算,不好反解。 网上找的等额本息还款计算公式:每月还款额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1] 不知道以上理解对不?我是莫能斌,交流下~
> @Liam0205 > > @fourier307 > > 在知乎看到一个类似问题,又绕回来了。 > > 我认为文中的公式是个近似公式,找个房贷计算器,选择等额本息,按年化14.62%算,每个月还款额是108.09, > > 比文中要高,按年化14.31%算,每个月还款额是107.92。 > > 原因在于实际还款方式是等额本息(每个月还的钱一样多),而文中算平均每月应还本金是用的等额本金来计算的,有偏差。 > > 那公式应该是啥,我算不出来。。。 > > 我理解问题相当于等额本息方式,已知总金额、每期还款额、还款期数,求利率。 > > 直接反解等额本息的还款公式就行,可惜还款公式里面有k次幂计算,不好反解。 > > 网上找的等额本息还款计算公式:每月还款额=[贷款本金×月利率×(1+月利率)^还款月数]÷[(1+月利率)^还款月数-1] >...
> @Liam0205 > @fourier307 不不不…… > > 等额本息里的「息」是利息,但信用卡分期这里不是利息而是手续费。所以你不能那等额本息的公式或者计算器套在这里用。前提就不成立啊…… > > 如果你想把信用卡分期的手续费率换算成真实利息率,那就是文中的算法。 剥离掉信用卡,手续费啥的。 问题:借了1200块钱,分12个月还,每个月还107.92元,到期还清,求年化利率? 如果这么看这个问题,也不能套等额本息?