V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  limhiaoing  ›  全部回复第 4 页 / 共 11 页
回复总数  218
1  2  3  4  5  6  7  8  9  10 ... 11  
2017-05-14 08:52:29 +08:00
回复了 q397064399 创建的主题 Go 编程语言 golang 的协程比线程轻量级 轻量级在哪里,谢谢
goroutine 运行时栈初始是 2kb,而线程一般是几 MB,当创建几千个得时候,goroutine 的内存开销远小于线程。
goroutine 的调度不需要进入内核,也比线程的开销要小。
2017-05-13 22:33:37 +08:00
回复了 AirSc 创建的主题 问与答 选择什么杀毒软件 2017.05
只用了 Windows Defender。
@sbabybird
想探讨原因就不应该用这种标题!
这代码能编译通过?
2017-04-29 09:17:15 +08:00
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@limhiaoing
说错了,是 std::vector::at 抛的异常。
2017-04-29 09:16:16 +08:00
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@owt5008137
另外这个 bug 并不是构造函数抛异常导致的,bug 单里 Tomasz Kamiński 的例子是 std::basic_string::at 抛的异常。
2017-04-29 09:06:50 +08:00
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
15 年报告的 bug,但 gcc 似乎不着急解决。
bug 单里 Tomasz Kamiński 的例子的写法在 C++11 其实还是挺常见的。
在 gcc 解决前想继续使用 gcc 编译的话可以用代码静态分析扫描一遍,给 aggregate initialization 的匿名对象加个变量名就好了。
2017-04-29 08:45:32 +08:00
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@owt5008137
C++引入异常的一个原因就是用于报告构造函数错误,所以构造函数抛异常是很合理的做法。
这个 bug 使用了 C++11 的特性,意味着老的代码不需要有这方面的顾虑。
2017-04-28 11:34:41 +08:00
回复了 forcecharlie 创建的主题 C A bug in GCC that may cause memory leaks in valid C++ programs
@AngelCriss
都说是 bug 了
2017-04-24 16:27:57 +08:00
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@geelaw
真不知道说你什么好,性能高必须用 malloc ?
高性能程序都是用内存池的好吗?
另外 vector 有性能问题是你不会用。
2017-04-24 14:43:59 +08:00
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@rozbo
忘了回答你最后一句了,我写代码确实从来不用 malloc 。
2017-04-24 14:41:48 +08:00
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
上面的链接有用 std::unique_ptr 管理文件资源的例子。
2017-04-24 14:39:46 +08:00
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@rozbo
http://en.cppreference.com/w/cpp/memory/unique_ptr
sto::unique_ptr 的 deleter 是可定制的,你想释放其他资源定制下 deleter 就可以了。
另外 不明白你是什么需求非得用 malloc 而不能用 std::make_unique 。
2017-04-24 13:57:04 +08:00
回复了 banli 创建的主题 问与答 编程过程中, 你是习惯提前返回, 还是统一返回。
@rozbo
auto a = std::make_unique<char[]>(0x1000);
其实现代 C++不需要手动写任何的 new 和 delete 也能把内存资源管理得很好。
举个例子 https://github.com/lxrite/DawnPlayer 是我写的一个 flv demuxer 涉及到大量的内存分配和释放,但是 C++部分的代码一个 delete 都没有写。
2017-02-15 19:06:46 +08:00
回复了 vertigo 创建的主题 分享创造 [另类想法] 如何保证一条消息十几年后才能被读取
@dallaslu
怎么穷举?首先不知道原文长度,另外摘要算法是 1 对多的映射,得到相同的摘要也没办法证明它就是原文。。
@limhiaoing
而关于 future/promise 用于延后执行,可以看下这个。
http://en.cppreference.com/w/cpp/thread/async
std::launch::deferred enable lazy evaluation
@morethansean
``` cs
var task = Task.FromResult<int>(1 + 2);
new Action(async () => {
await task;
Console.WriteLine("1");
})();
Console.WriteLine("2");
// Output:
// 1
// 2
```
``` cs
var task = Task.Delay(1); // delay 1ms
new Action(async () => {
await task;
Console.WriteLine("1");
})();
Console.WriteLine("2");
// Output:
// 2
// 1
```
C#的 async 、 await 是这样的,立即可以完成(代码 1 )的,可以同步执行先输出 1 再输出 2 ,需要 1ms 才能完成的(代码 2 ),才必须异步先输出 2 再输出 1 。
C#应该是最早使用 async 、 await 语法糖的语言,之后才被各语言争相效仿(如果有更早的请指正),这种允许同步执行的 await 也被证明设计上没有错误,所以 ES7 如果是强制异步的话,就是设计哲学的问题了。
1  2  3  4  5  6  7  8  9  10 ... 11  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5737 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 44ms · UTC 06:26 · PVG 14:26 · LAX 23:26 · JFK 02:26
Developed with CodeLauncher
♥ Do have faith in what you're doing.