找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

12
返回列表 发新帖
楼主: maybe
收起左侧

[Google] 一道gg多线程面试题求讨论

[复制链接]

18

主题

6

精华

257

积分

高级会员

Rank: 3Rank: 3

积分
257
发表于 1-25-2015 06:42 AM | 显示全部楼层
可以这样吗:
- k" d* i: c, U; Y在to_run函数中,多加入一个参数叫sleep_time,然后函数一开始先sleep(sleep_time)。' q' z! v* ]! V4 G* L
每次调用这个函数,都创建新的thread,并设置sleep_time这个参数。
  I; s8 Y1 f$ e3 Z4 Q; ]
- ~' A' d% v- d! Z- Q实现如下:
. K& K+ T2 K( U' a* R: [#include <chrono>
- {, i  g5 g2 l2 m: T" p#include <thread>
8 U3 k9 I5 u' d2 c! t( X#include <iostream>
) N7 a% m, z6 S0 \9 Yvoid toRun(int timestamp, int i) {# b! T# X: O4 Q) |, E, f
    this_thread::sleep_for(chrono::seconds(sleep_time));
0 m7 {. m$ Z# d" ]% J) B. t4 ~    cout <<i <<endl;
# Q, a. n  O" c& E# d$ o}5 e  }9 v/ I, T+ Q3 }1 h

: j/ i, Z2 F) o! f) y+ h! _; sint main() {, N' p' c$ v4 d* M4 u0 [; q3 v2 A
    thread t(toRun, 10, 1);
/ s7 d; W  k; Y$ T    t.join();
4 j- u: I+ H" J' J& ^+ ?2 j2 X1 Q) A    cout <<"end main" <<endl;
! C7 g$ p5 ~. x}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表