※ 引述《BreathWay (息尉)》之铭言:
: 开发平台(Platform): (Ex: Win10, Linux, ...)
: Linux
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: GCC
: 问题(Question):
: 我写了一个以暴力算法求最佳解的程式,
: 主要是透过不断更新所找到的更好的解来达成。
: 但是我希望能设定一个时间上限,
: 如果程式还没跑完就直接输出目前找到的最好的解。
: 请问有办法在 C 里面实作这个功能吗?
如果想跟MVC 87%像 前置准备:
1. threadM 计算单元
2. threadV 用来show结果
3. threadC 用来接收input
4. 1~2个signal
5. 一个buffer (称作render buffer)
对threadV而言 render buffer是read only
对threadM而言 render buffer做atomic写入
online流程:
每次ThreadC拿到input就signal给ThreadM
(optional : 同时signal给ThreadV 然后thread V开始计时)
ThreadM计算单元先初始化render buffer
ThreadM开始做progressive计算
ThreadM如果有current best就atomic更新render buffer
ThreadV 想要多久去读一次buffer都可以(原PO的是一段固定的时间)