news 2026/5/16 5:34:13

c++1114-多线程要点汇总

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
c++1114-多线程要点汇总

在C++11以前,C++的多线程编程均需依赖系统或第三方接口实现,一定程度上影响了代码的移植性。C++11中,引入了boost库中的多线程部分内容,形成C++标准,形成标准后的boost多线程编程部分接口基本没有变化,这样方便了以前使用boost接口开发的使用者切换使用C++标准接口,很容易把boost接口升级为C++标准接口。

我们通过如下几部分介绍C++11多线程方面的接口及使用方法。

1. std::thread

std::thread为C++11的线程类,使用方法和boost接口一样,非常方便,同时,C++11的std::thread解决了boost::thread中构成参数限制的问题,我想这都是得益于C++11的可变参数的设计风格。

我们通过如下代码熟悉下std::thread使用风格:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

//c11.cpp

#include <iostream>

#include <thread>

voidthreadfun1()

{

std::cout <<"threadfun1 - 1\r\n"<< std::endl;

std::this_thread::sleep_for(std::chrono::seconds(1));

std::cout <<"threadfun1 - 2"<< std::endl;

}

voidthreadfun2(intiParam, std::string sParam)

{

std::cout <<"threadfun2 - 1"<< std::endl;

std::this_thread::sleep_for(std::chrono::seconds(5));

std::cout <<"threadfun2 - 2"<< std::endl;

}

intmain()

{

std::threadt1(threadfun1);

std::threadt2(threadfun2, 10,"abc");

t1.join();

std::cout <<"join"<< std::endl;

t2.detach();

std::cout <<"detach"<< std::endl;

}

注意编译时要使用:g++ c11.cpp -lpthread

运行结果:

threadfun1 - 1
threadfun2 - 1
threadfun1 - 2
join
detach

2. std::atomic

std::atomic为C++11封装的原子数据类型。
什么是原子数据类型?从功能上看,简单地说,原子数据类型不会发生数据竞争,能直接用在多线程中而不必我们用户对其进行添加互斥资源锁的类型。从实现上来看,我们可以理解为这些原子类型内部自己加了锁。

我们下面通过一个测试例子说明原子类型std::atomic的特点。

我们使用10个线程,把std::atomic类型的变量iCount从10减到1。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

//c11.cpp

#include <thread>

#include <atomic>

#include <stdio.h>

#include <iostream>

#include <list>

std::atomic<bool> bIsReady(false);

std::atomic<int> iCount(10);

voidthreadfun1()

{

if(!bIsReady) {

std::this_thread::yield();

}

while(iCount > 0)

{

printf("iCount:%d\r\n", iCount--);

}

}

intmain()

{

std::list<std::thread> lstThread;

for(inti = 0; i < 10; ++i)

{

lstThread.push_back(std::thread(threadfun1));

}

for(auto& th : lstThread)

{

th.join();

}

}

运行结果:

iCount:10
iCount:9
iCount:8
iCount:7
iCount:6
iCount:5
iCount:4
iCount:3
iCount:2
iCount:1

从上面的结果可以看到,iCount的最小结果是1,没有出现小于等于0的情况,大家可以把iCount改成100甚至1000看看,可能会更直观一点。

3. std::condition_variable

C++11中的std::condition_variable就像Linux下使用pthread_cond_wait和pthread_cond_signal一样,可以让线程休眠,直到被唤醒,然后再重新执行。线程等待在多线程编程中使用非常频繁,经常需要等待一些异步执行的条件的返回结果。

代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

#include <iostream> // std::cout

#include <thread> // std::thread

#include <mutex> // std::mutex, std::unique_lock

#include <condition_variable> // std::condition_variable

std::mutex mtx;

std::condition_variable cv;

boolready =false;

voidprint_id(intid) {

std::unique_lock<std::mutex> lck(mtx);

while(!ready) cv.wait(lck);//线程将进入休眠

// ...

std::cout <<"thread "<< id <<'\n';

}

voidgo() {

std::unique_lock<std::mutex> lck(mtx);

ready =true;

cv.notify_all();

}

intmain()

{

std::threadthreads[10];

// spawn 10 threads:

for(inti = 0; i<10; ++i)

threads[i] = std::thread(print_id, i);

std::cout <<"10 threads ready to race...\n";

go();// go!

for(auto& th : threads) th.join();

return0;

}

运行结果:

10 threads ready to race...
thread 0
thread 1
thread 2
thread 3
thread 4
thread 5
thread 6
thread 7
thread 8
thread 9

上面的代码,在调用go函数之前,10个线程都处于休眠状态,当cv.notify_all()运行后,线程休眠结束,继续往下运行,最终输出如上结果。

iyt.phxwcu.cn/57311.shtm
iyt.phxwcu.cn/59557.shtm
iyt.phxwcu.cn/39119.shtm
iyt.phxwcu.cn/97599.shtm
iyt.phxwcu.cn/35755.shtm
iyt.phxwcu.cn/15993.shtm
iyt.phxwcu.cn/39599.shtm
iyt.phxwcu.cn/79917.shtm
iyt.phxwcu.cn/99793.shtm
iyt.phxwcu.cn/55715.shtm
iyy.phxwcu.cn/11533.shtm
iyy.phxwcu.cn/35315.shtm
iyy.phxwcu.cn/51115.shtm
iyy.phxwcu.cn/33353.shtm
iyy.phxwcu.cn/55937.shtm
iyy.phxwcu.cn/57919.shtm
iyy.phxwcu.cn/31151.shtm
iyy.phxwcu.cn/35353.shtm
iyy.phxwcu.cn/99793.shtm
iyy.phxwcu.cn/13331.shtm
iyu.phxwcu.cn/71315.shtm
iyu.phxwcu.cn/35999.shtm
iyu.phxwcu.cn/99339.shtm
iyu.phxwcu.cn/19337.shtm
iyu.phxwcu.cn/75537.shtm
iyu.phxwcu.cn/88064.shtm
iyu.phxwcu.cn/31197.shtm
iyu.phxwcu.cn/22680.shtm
iyu.phxwcu.cn/99313.shtm
iyu.phxwcu.cn/75115.shtm
iyi.phxwcu.cn/51995.shtm
iyi.phxwcu.cn/79379.shtm
iyi.phxwcu.cn/59571.shtm
iyi.phxwcu.cn/93317.shtm
iyi.phxwcu.cn/64682.shtm
iyi.phxwcu.cn/19113.shtm
iyi.phxwcu.cn/97391.shtm
iyi.phxwcu.cn/95135.shtm
iyi.phxwcu.cn/51197.shtm
iyi.phxwcu.cn/19797.shtm
iyo.phxwcu.cn/39599.shtm
iyo.phxwcu.cn/60884.shtm
iyo.phxwcu.cn/57553.shtm
iyo.phxwcu.cn/99599.shtm
iyo.phxwcu.cn/95953.shtm
iyo.phxwcu.cn/02646.shtm
iyo.phxwcu.cn/51977.shtm
iyo.phxwcu.cn/75771.shtm
iyo.phxwcu.cn/93513.shtm
iyo.phxwcu.cn/79371.shtm
iyp.phxwcu.cn/17131.shtm
iyp.phxwcu.cn/15935.shtm
iyp.phxwcu.cn/86804.shtm
iyp.phxwcu.cn/55335.shtm
iyp.phxwcu.cn/68620.shtm
iyp.phxwcu.cn/93393.shtm
iyp.phxwcu.cn/28400.shtm
iyp.phxwcu.cn/95911.shtm
iyp.phxwcu.cn/84208.shtm
iyp.phxwcu.cn/13571.shtm
iya.phxwcu.cn/51739.shtm
iya.phxwcu.cn/20424.shtm
iya.phxwcu.cn/80422.shtm
iya.phxwcu.cn/73531.shtm
iya.phxwcu.cn/77157.shtm
iya.phxwcu.cn/11975.shtm
iya.phxwcu.cn/66800.shtm
iya.phxwcu.cn/97797.shtm
iya.phxwcu.cn/64024.shtm
iya.phxwcu.cn/97159.shtm
iys.phxwcu.cn/20044.shtm
iys.phxwcu.cn/62840.shtm
iys.phxwcu.cn/93375.shtm
iys.phxwcu.cn/60662.shtm
iys.phxwcu.cn/79737.shtm
iys.phxwcu.cn/06600.shtm
iys.phxwcu.cn/39733.shtm
iys.phxwcu.cn/28378.shtm
iys.phxwcu.cn/88200.shtm
iys.phxwcu.cn/26608.shtm
iyd.phxwcu.cn/17153.shtm
iyd.phxwcu.cn/37591.shtm
iyd.phxwcu.cn/51991.shtm
iyd.phxwcu.cn/93111.shtm
iyd.phxwcu.cn/17351.shtm
iyd.phxwcu.cn/48486.shtm
iyd.phxwcu.cn/00860.shtm
iyd.phxwcu.cn/64602.shtm
iyd.phxwcu.cn/73317.shtm
iyd.phxwcu.cn/00288.shtm
iyf.phxwcu.cn/17739.shtm
iyf.phxwcu.cn/80884.shtm
iyf.phxwcu.cn/51377.shtm
iyf.phxwcu.cn/42860.shtm
iyf.phxwcu.cn/75519.shtm
iyf.phxwcu.cn/28620.shtm
iyf.phxwcu.cn/00088.shtm
iyf.phxwcu.cn/33098.shtm
iyf.phxwcu.cn/06620.shtm
iyf.phxwcu.cn/00640.shtm
iyg.phxwcu.cn/91539.shtm
iyg.phxwcu.cn/00220.shtm
iyg.phxwcu.cn/75577.shtm
iyg.phxwcu.cn/68228.shtm
iyg.phxwcu.cn/88862.shtm
iyg.phxwcu.cn/73535.shtm
iyg.phxwcu.cn/35139.shtm
iyg.phxwcu.cn/79379.shtm
iyg.phxwcu.cn/79711.shtm
iyg.phxwcu.cn/20866.shtm
iyh.phxwcu.cn/51933.shtm
iyh.phxwcu.cn/53731.shtm
iyh.phxwcu.cn/28282.shtm
iyh.phxwcu.cn/20082.shtm
iyh.phxwcu.cn/75553.shtm
iyh.phxwcu.cn/79551.shtm
iyh.phxwcu.cn/26408.shtm
iyh.phxwcu.cn/59937.shtm
iyh.phxwcu.cn/97115.shtm
iyh.phxwcu.cn/59791.shtm
iyj.phxwcu.cn/46248.shtm
iyj.phxwcu.cn/26062.shtm
iyj.phxwcu.cn/55195.shtm
iyj.phxwcu.cn/71571.shtm
iyj.phxwcu.cn/55513.shtm
iyj.phxwcu.cn/35999.shtm
iyj.phxwcu.cn/44048.shtm
iyj.phxwcu.cn/59139.shtm
iyj.phxwcu.cn/59937.shtm
iyj.phxwcu.cn/46462.shtm
iyk.phxwcu.cn/68000.shtm
iyk.phxwcu.cn/40642.shtm
iyk.phxwcu.cn/79935.shtm
iyk.phxwcu.cn/42086.shtm
iyk.phxwcu.cn/40426.shtm
iyk.phxwcu.cn/40440.shtm
iyk.phxwcu.cn/42220.shtm
iyk.phxwcu.cn/64020.shtm
iyk.phxwcu.cn/88684.shtm
iyk.phxwcu.cn/99113.shtm
iyl.phxwcu.cn/46684.shtm
iyl.phxwcu.cn/22648.shtm
iyl.phxwcu.cn/71993.shtm
iyl.phxwcu.cn/44848.shtm
iyl.phxwcu.cn/26268.shtm
iyl.phxwcu.cn/57719.shtm
iyl.phxwcu.cn/31175.shtm
iyl.phxwcu.cn/44440.shtm
iyl.phxwcu.cn/57319.shtm
iyl.phxwcu.cn/71999.shtm
iyz.phxwcu.cn/64468.shtm
iyz.phxwcu.cn/66880.shtm
iyz.phxwcu.cn/99511.shtm
iyz.phxwcu.cn/31317.shtm
iyz.phxwcu.cn/31179.shtm
iyz.phxwcu.cn/71959.shtm
iyz.phxwcu.cn/80860.shtm
iyz.phxwcu.cn/31933.shtm
iyz.phxwcu.cn/62464.shtm
iyz.phxwcu.cn/95533.shtm
iyx.phxwcu.cn/77139.shtm
iyx.phxwcu.cn/48244.shtm
iyx.phxwcu.cn/93537.shtm
iyx.phxwcu.cn/80466.shtm
iyx.phxwcu.cn/57995.shtm
iyx.phxwcu.cn/77379.shtm
iyx.phxwcu.cn/24840.shtm
iyx.phxwcu.cn/51759.shtm
iyx.phxwcu.cn/48880.shtm
iyx.phxwcu.cn/39793.shtm
iyc.phxwcu.cn/37757.shtm
iyc.phxwcu.cn/55373.shtm
iyc.phxwcu.cn/39557.shtm
iyc.phxwcu.cn/71131.shtm
iyc.phxwcu.cn/51971.shtm
iyc.phxwcu.cn/86022.shtm
iyc.phxwcu.cn/06280.shtm
iyc.phxwcu.cn/57573.shtm
iyc.phxwcu.cn/71159.shtm
iyc.phxwcu.cn/42066.shtm
iyv.phxwcu.cn/42002.shtm
iyv.phxwcu.cn/97993.shtm
iyv.phxwcu.cn/22662.shtm
iyv.phxwcu.cn/02424.shtm
iyv.phxwcu.cn/08442.shtm
iyv.phxwcu.cn/24800.shtm
iyv.phxwcu.cn/19935.shtm
iyv.phxwcu.cn/04604.shtm
iyv.phxwcu.cn/57591.shtm
iyv.phxwcu.cn/82664.shtm
iyb.phxwcu.cn/66026.shtm
iyb.phxwcu.cn/60408.shtm
iyb.phxwcu.cn/68286.shtm
iyb.phxwcu.cn/37193.shtm
iyb.phxwcu.cn/48828.shtm
iyb.phxwcu.cn/60088.shtm
iyb.phxwcu.cn/44806.shtm
iyb.phxwcu.cn/31175.shtm
iyb.phxwcu.cn/35117.shtm
iyb.phxwcu.cn/86688.shtm
iyn.phxwcu.cn/11119.shtm
iyn.phxwcu.cn/77931.shtm
iyn.phxwcu.cn/02822.shtm
iyn.phxwcu.cn/66624.shtm
iyn.phxwcu.cn/24688.shtm
iyn.phxwcu.cn/28068.shtm
iyn.phxwcu.cn/62280.shtm
iyn.phxwcu.cn/06264.shtm
iyn.phxwcu.cn/00602.shtm
iyn.phxwcu.cn/48602.shtm
iym.phxwcu.cn/80624.shtm
iym.phxwcu.cn/02088.shtm
iym.phxwcu.cn/26688.shtm
iym.phxwcu.cn/68088.shtm
iym.phxwcu.cn/06464.shtm
iym.phxwcu.cn/86488.shtm
iym.phxwcu.cn/48844.shtm
iym.phxwcu.cn/02682.shtm
iym.phxwcu.cn/79773.shtm
iym.phxwcu.cn/79117.shtm
iuq.phxwcu.cn/28422.shtm
iuq.phxwcu.cn/55117.shtm
iuq.phxwcu.cn/75755.shtm
iuq.phxwcu.cn/31511.shtm
iuq.phxwcu.cn/68804.shtm
iuq.phxwcu.cn/93597.shtm
iuq.phxwcu.cn/11313.shtm
iuq.phxwcu.cn/51917.shtm
iuq.phxwcu.cn/84004.shtm
iuq.phxwcu.cn/62666.shtm
iuw.phxwcu.cn/31155.shtm
iuw.phxwcu.cn/53797.shtm
iuw.phxwcu.cn/53113.shtm
iuw.phxwcu.cn/71593.shtm
iuw.phxwcu.cn/86848.shtm
iuw.phxwcu.cn/62646.shtm
iuw.phxwcu.cn/02404.shtm
iuw.phxwcu.cn/33517.shtm
iuw.phxwcu.cn/28860.shtm
iuw.phxwcu.cn/00246.shtm
iue.phxwcu.cn/55353.shtm
iue.phxwcu.cn/19777.shtm
iue.phxwcu.cn/20206.shtm
iue.phxwcu.cn/53991.shtm
iue.phxwcu.cn/40008.shtm
iue.phxwcu.cn/95553.shtm
iue.phxwcu.cn/13197.shtm
iue.phxwcu.cn/51151.shtm
iue.phxwcu.cn/57591.shtm
iue.phxwcu.cn/99919.shtm
iur.phxwcu.cn/11373.shtm
iur.phxwcu.cn/53193.shtm
iur.phxwcu.cn/55333.shtm
iur.phxwcu.cn/97713.shtm
iur.phxwcu.cn/91311.shtm
iur.phxwcu.cn/15517.shtm
iur.phxwcu.cn/35339.shtm
iur.phxwcu.cn/13375.shtm
iur.phxwcu.cn/97731.shtm
iur.phxwcu.cn/75911.shtm
iut.phxwcu.cn/57599.shtm
iut.phxwcu.cn/53113.shtm
iut.phxwcu.cn/37515.shtm
iut.phxwcu.cn/75913.shtm
iut.phxwcu.cn/73797.shtm
iut.phxwcu.cn/11977.shtm
iut.phxwcu.cn/77977.shtm
iut.phxwcu.cn/37171.shtm
iut.phxwcu.cn/19951.shtm
iut.phxwcu.cn/73539.shtm
iuy.phxwcu.cn/97399.shtm
iuy.phxwcu.cn/57719.shtm
iuy.phxwcu.cn/51595.shtm
iuy.phxwcu.cn/93951.shtm
iuy.phxwcu.cn/57111.shtm
iuy.phxwcu.cn/55517.shtm
iuy.phxwcu.cn/91799.shtm
iuy.phxwcu.cn/75975.shtm
iuy.phxwcu.cn/95131.shtm
iuy.phxwcu.cn/53577.shtm
iuu.phxwcu.cn/77755.shtm
iuu.phxwcu.cn/00022.shtm
iuu.phxwcu.cn/48042.shtm
iuu.phxwcu.cn/75559.shtm
iuu.phxwcu.cn/79973.shtm
iuu.phxwcu.cn/22286.shtm
iuu.phxwcu.cn/06642.shtm
iuu.phxwcu.cn/68606.shtm
iuu.phxwcu.cn/46208.shtm
iuu.phxwcu.cn/39755.shtm
iui.phxwcu.cn/00626.shtm
iui.phxwcu.cn/99535.shtm
iui.phxwcu.cn/68824.shtm
iui.phxwcu.cn/13175.shtm
iui.phxwcu.cn/57137.shtm
iui.phxwcu.cn/68884.shtm
iui.phxwcu.cn/48288.shtm
iui.phxwcu.cn/46480.shtm
iui.phxwcu.cn/60262.shtm
iui.phxwcu.cn/15119.shtm
iuo.phxwcu.cn/51515.shtm
iuo.phxwcu.cn/77357.shtm
iuo.phxwcu.cn/99731.shtm
iuo.phxwcu.cn/37597.shtm
iuo.phxwcu.cn/06468.shtm
iuo.phxwcu.cn/53599.shtm
iuo.phxwcu.cn/44060.shtm
iuo.phxwcu.cn/08042.shtm
iuo.phxwcu.cn/37557.shtm
iuo.phxwcu.cn/06800.shtm
iup.phxwcu.cn/11571.shtm
iup.phxwcu.cn/86880.shtm
iup.phxwcu.cn/73111.shtm
iup.phxwcu.cn/44804.shtm
iup.phxwcu.cn/39173.shtm
iup.phxwcu.cn/26080.shtm
iup.phxwcu.cn/04488.shtm
iup.phxwcu.cn/88622.shtm
iup.phxwcu.cn/22464.shtm
iup.phxwcu.cn/57331.shtm
iua.phxwcu.cn/13997.shtm
iua.phxwcu.cn/91551.shtm
iua.phxwcu.cn/75771.shtm
iua.phxwcu.cn/88848.shtm
iua.phxwcu.cn/88660.shtm
iua.phxwcu.cn/46604.shtm
iua.phxwcu.cn/75971.shtm
iua.phxwcu.cn/60488.shtm
iua.phxwcu.cn/08022.shtm
iua.phxwcu.cn/86444.shtm
ius.phxwcu.cn/57171.shtm
ius.phxwcu.cn/84864.shtm
ius.phxwcu.cn/66240.shtm
ius.phxwcu.cn/22060.shtm
ius.phxwcu.cn/42020.shtm
ius.phxwcu.cn/00446.shtm
ius.phxwcu.cn/42666.shtm
ius.phxwcu.cn/97771.shtm
ius.phxwcu.cn/40842.shtm
ius.phxwcu.cn/22484.shtm
iud.phxwcu.cn/20224.shtm
iud.phxwcu.cn/55391.shtm
iud.phxwcu.cn/20404.shtm
iud.phxwcu.cn/04022.shtm
iud.phxwcu.cn/24084.shtm
iud.phxwcu.cn/55571.shtm
iud.phxwcu.cn/24884.shtm
iud.phxwcu.cn/71371.shtm
iud.phxwcu.cn/06260.shtm
iud.phxwcu.cn/40080.shtm
iuf.phxwcu.cn/66602.shtm
iuf.phxwcu.cn/93719.shtm
iuf.phxwcu.cn/46286.shtm
iuf.phxwcu.cn/59951.shtm
iuf.phxwcu.cn/79115.shtm
iuf.phxwcu.cn/86604.shtm
iuf.phxwcu.cn/02260.shtm
iuf.phxwcu.cn/28808.shtm
iuf.phxwcu.cn/17939.shtm
iuf.phxwcu.cn/20062.shtm
iug.phxwcu.cn/77971.shtm
iug.phxwcu.cn/28426.shtm
iug.phxwcu.cn/06224.shtm
iug.phxwcu.cn/51197.shtm
iug.phxwcu.cn/80808.shtm
iug.phxwcu.cn/80804.shtm
iug.phxwcu.cn/80842.shtm
iug.phxwcu.cn/20040.shtm
iug.phxwcu.cn/33351.shtm
iug.phxwcu.cn/48600.shtm
iuh.phxwcu.cn/13735.shtm
iuh.phxwcu.cn/15577.shtm
iuh.phxwcu.cn/04466.shtm
iuh.phxwcu.cn/02002.shtm
iuh.phxwcu.cn/02882.shtm
iuh.phxwcu.cn/24426.shtm
iuh.phxwcu.cn/15999.shtm
iuh.phxwcu.cn/99759.shtm
iuh.phxwcu.cn/15397.shtm
iuh.phxwcu.cn/71915.shtm
iuj.phxwcu.cn/28228.shtm
iuj.phxwcu.cn/75911.shtm
iuj.phxwcu.cn/71775.shtm
iuj.phxwcu.cn/55557.shtm
iuj.phxwcu.cn/91133.shtm
iuj.phxwcu.cn/93517.shtm
iuj.phxwcu.cn/73319.shtm
iuj.phxwcu.cn/51395.shtm
iuj.phxwcu.cn/55179.shtm
iuj.phxwcu.cn/73799.shtm
iuk.phxwcu.cn/77573.shtm
iuk.phxwcu.cn/31579.shtm
iuk.phxwcu.cn/35713.shtm
iuk.phxwcu.cn/53397.shtm
iuk.phxwcu.cn/33771.shtm
iuk.phxwcu.cn/37711.shtm
iuk.phxwcu.cn/91577.shtm
iuk.phxwcu.cn/55195.shtm
iuk.phxwcu.cn/75973.shtm
iuk.phxwcu.cn/93359.shtm
iul.phxwcu.cn/15113.shtm
iul.phxwcu.cn/73339.shtm
iul.phxwcu.cn/35313.shtm
iul.phxwcu.cn/73757.shtm
iul.phxwcu.cn/59979.shtm
iul.phxwcu.cn/17917.shtm
iul.phxwcu.cn/75153.shtm
iul.phxwcu.cn/19733.shtm
iul.phxwcu.cn/95371.shtm
iul.phxwcu.cn/75759.shtm
iuz.phxwcu.cn/33391.shtm
iuz.phxwcu.cn/73315.shtm
iuz.phxwcu.cn/15573.shtm
iuz.phxwcu.cn/35997.shtm
iuz.phxwcu.cn/75177.shtm
iuz.phxwcu.cn/71313.shtm
iuz.phxwcu.cn/99993.shtm
iuz.phxwcu.cn/48424.shtm
iuz.phxwcu.cn/02424.shtm
iuz.phxwcu.cn/60022.shtm
iux.phxwcu.cn/15359.shtm
iux.phxwcu.cn/73377.shtm
iux.phxwcu.cn/08262.shtm
iux.phxwcu.cn/77971.shtm
iux.phxwcu.cn/75357.shtm
iux.phxwcu.cn/77599.shtm
iux.phxwcu.cn/86464.shtm
iux.phxwcu.cn/28804.shtm
iux.phxwcu.cn/62060.shtm
iux.phxwcu.cn/42202.shtm
iuc.phxwcu.cn/51353.shtm
iuc.phxwcu.cn/44044.shtm
iuc.phxwcu.cn/15771.shtm
iuc.phxwcu.cn/55513.shtm
iuc.phxwcu.cn/42268.shtm
iuc.phxwcu.cn/19399.shtm
iuc.phxwcu.cn/77531.shtm
iuc.phxwcu.cn/53931.shtm
iuc.phxwcu.cn/71931.shtm
iuc.phxwcu.cn/44354.shtm
iuv.phxwcu.cn/02086.shtm
iuv.phxwcu.cn/35993.shtm
iuv.phxwcu.cn/26202.shtm
iuv.phxwcu.cn/33759.shtm
iuv.phxwcu.cn/85780.shtm
iuv.phxwcu.cn/51339.shtm
iuv.phxwcu.cn/22260.shtm
iuv.phxwcu.cn/04468.shtm
iuv.phxwcu.cn/59371.shtm
iuv.phxwcu.cn/75913.shtm
iub.phxwcu.cn/75973.shtm
iub.phxwcu.cn/17155.shtm
iub.phxwcu.cn/57113.shtm
iub.phxwcu.cn/66082.shtm
iub.phxwcu.cn/28062.shtm
iub.phxwcu.cn/82646.shtm
iub.phxwcu.cn/13153.shtm
iub.phxwcu.cn/28460.shtm
iub.phxwcu.cn/13997.shtm
iub.phxwcu.cn/55377.shtm
iun.phxwcu.cn/13911.shtm
iun.phxwcu.cn/19311.shtm
iun.phxwcu.cn/53373.shtm
iun.phxwcu.cn/46020.shtm
iun.phxwcu.cn/73935.shtm
iun.phxwcu.cn/79731.shtm
iun.phxwcu.cn/71739.shtm
iun.phxwcu.cn/99315.shtm
iun.phxwcu.cn/55113.shtm
iun.phxwcu.cn/71759.shtm
ium.phxwcu.cn/37117.shtm
ium.phxwcu.cn/99731.shtm
ium.phxwcu.cn/53793.shtm
ium.phxwcu.cn/73319.shtm
ium.phxwcu.cn/91517.shtm
ium.phxwcu.cn/53731.shtm
ium.phxwcu.cn/53195.shtm
ium.phxwcu.cn/15971.shtm
ium.phxwcu.cn/97953.shtm
ium.phxwcu.cn/91555.shtm
iiq.phxwcu.cn/15333.shtm
iiq.phxwcu.cn/75195.shtm
iiq.phxwcu.cn/53917.shtm
iiq.phxwcu.cn/79319.shtm
iiq.phxwcu.cn/15171.shtm
iiq.phxwcu.cn/15977.shtm
iiq.phxwcu.cn/51757.shtm
iiq.phxwcu.cn/15397.shtm
iiq.phxwcu.cn/55339.shtm
iiq.phxwcu.cn/17757.shtm
iiw.phxwcu.cn/11791.shtm
iiw.phxwcu.cn/19915.shtm
iiw.phxwcu.cn/75117.shtm
iiw.phxwcu.cn/37397.shtm
iiw.phxwcu.cn/55937.shtm
iiw.phxwcu.cn/97959.shtm
iiw.phxwcu.cn/95353.shtm
iiw.phxwcu.cn/97773.shtm
iiw.phxwcu.cn/55377.shtm
iiw.phxwcu.cn/59511.shtm
iie.phxwcu.cn/51155.shtm
iie.phxwcu.cn/62086.shtm
iie.phxwcu.cn/17519.shtm
iie.phxwcu.cn/22602.shtm
iie.phxwcu.cn/40460.shtm
iie.phxwcu.cn/31597.shtm
iie.phxwcu.cn/80884.shtm
iie.phxwcu.cn/00426.shtm
iie.phxwcu.cn/46642.shtm
iie.phxwcu.cn/31175.shtm
iir.phxwcu.cn/15551.shtm
iir.phxwcu.cn/24884.shtm
iir.phxwcu.cn/68068.shtm
iir.phxwcu.cn/77577.shtm
iir.phxwcu.cn/82204.shtm
iir.phxwcu.cn/77977.shtm
iir.phxwcu.cn/15177.shtm
iir.phxwcu.cn/39973.shtm
iir.phxwcu.cn/73795.shtm
iir.phxwcu.cn/71153.shtm
iit.phxwcu.cn/73739.shtm
iit.phxwcu.cn/99393.shtm
iit.phxwcu.cn/22864.shtm
iit.phxwcu.cn/75379.shtm
iit.phxwcu.cn/13757.shtm
iit.phxwcu.cn/40086.shtm
iit.phxwcu.cn/33137.shtm
iit.phxwcu.cn/24624.shtm
iit.phxwcu.cn/59335.shtm
iit.phxwcu.cn/60466.shtm
iiy.phxwcu.cn/64046.shtm
iiy.phxwcu.cn/02488.shtm
iiy.phxwcu.cn/59511.shtm
iiy.phxwcu.cn/51777.shtm
iiy.phxwcu.cn/44820.shtm
iiy.phxwcu.cn/02826.shtm
iiy.phxwcu.cn/46660.shtm
iiy.phxwcu.cn/55199.shtm
iiy.phxwcu.cn/55315.shtm
iiy.phxwcu.cn/31339.shtm
iiu.phxwcu.cn/11191.shtm
iiu.phxwcu.cn/66220.shtm
iiu.phxwcu.cn/40242.shtm
iiu.phxwcu.cn/91575.shtm
iiu.phxwcu.cn/73333.shtm
iiu.phxwcu.cn/20880.shtm
iiu.phxwcu.cn/00000.shtm
iiu.phxwcu.cn/57197.shtm
iiu.phxwcu.cn/26202.shtm
iiu.phxwcu.cn/93159.shtm
iii.phxwcu.cn/62862.shtm
iii.phxwcu.cn/68464.shtm
iii.phxwcu.cn/84006.shtm
iii.phxwcu.cn/80448.shtm
iii.phxwcu.cn/91511.shtm
iii.phxwcu.cn/40686.shtm
iii.phxwcu.cn/17597.shtm
iii.phxwcu.cn/68042.shtm
iii.phxwcu.cn/28406.shtm
iii.phxwcu.cn/46862.shtm
iio.phxwcu.cn/95939.shtm
iio.phxwcu.cn/28006.shtm
iio.phxwcu.cn/37399.shtm
iio.phxwcu.cn/93179.shtm
iio.phxwcu.cn/20664.shtm
iio.phxwcu.cn/40444.shtm
iio.phxwcu.cn/75957.shtm
iio.phxwcu.cn/20826.shtm
iio.phxwcu.cn/24286.shtm
iio.phxwcu.cn/57997.shtm
iip.phxwcu.cn/93933.shtm
iip.phxwcu.cn/04440.shtm
iip.phxwcu.cn/66662.shtm
iip.phxwcu.cn/59757.shtm
iip.phxwcu.cn/82684.shtm
iip.phxwcu.cn/28884.shtm
iip.phxwcu.cn/02008.shtm
iip.phxwcu.cn/39119.shtm
iip.phxwcu.cn/42446.shtm
iip.phxwcu.cn/11937.shtm
iia.phxwcu.cn/39715.shtm
iia.phxwcu.cn/31195.shtm
iia.phxwcu.cn/99537.shtm
iia.phxwcu.cn/59175.shtm
iia.phxwcu.cn/71175.shtm
iia.phxwcu.cn/93973.shtm
iia.phxwcu.cn/19357.shtm
iia.phxwcu.cn/17731.shtm
iia.phxwcu.cn/73919.shtm
iia.phxwcu.cn/17173.shtm
iis.phxwcu.cn/79731.shtm
iis.phxwcu.cn/35933.shtm
iis.phxwcu.cn/17395.shtm
iis.phxwcu.cn/55553.shtm
iis.phxwcu.cn/11155.shtm
iis.phxwcu.cn/95371.shtm
iis.phxwcu.cn/77937.shtm
iis.phxwcu.cn/13335.shtm
iis.phxwcu.cn/95199.shtm
iis.phxwcu.cn/55517.shtm
iid.phxwcu.cn/77999.shtm
iid.phxwcu.cn/15117.shtm
iid.phxwcu.cn/95953.shtm
iid.phxwcu.cn/53717.shtm
iid.phxwcu.cn/57513.shtm
iid.phxwcu.cn/17117.shtm
iid.phxwcu.cn/75917.shtm
iid.phxwcu.cn/13375.shtm
iid.phxwcu.cn/35737.shtm
iid.phxwcu.cn/53397.shtm
iif.phxwcu.cn/86244.shtm
iif.phxwcu.cn/44068.shtm
iif.phxwcu.cn/42480.shtm
iif.phxwcu.cn/79173.shtm
iif.phxwcu.cn/04228.shtm
iif.phxwcu.cn/60428.shtm
iif.phxwcu.cn/24484.shtm
iif.phxwcu.cn/22686.shtm
iif.phxwcu.cn/53357.shtm
iif.phxwcu.cn/80428.shtm
iig.phxwcu.cn/79397.shtm
iig.phxwcu.cn/33115.shtm
iig.phxwcu.cn/60024.shtm
iig.phxwcu.cn/08406.shtm
iig.phxwcu.cn/55713.shtm
iig.phxwcu.cn/15771.shtm
iig.phxwcu.cn/79557.shtm
iig.phxwcu.cn/75115.shtm
iig.phxwcu.cn/39197.shtm
iig.phxwcu.cn/46228.shtm
iih.phxwcu.cn/86006.shtm
iih.phxwcu.cn/28206.shtm
iih.phxwcu.cn/79577.shtm
iih.phxwcu.cn/73157.shtm
iih.phxwcu.cn/00466.shtm
iih.phxwcu.cn/93153.shtm
iih.phxwcu.cn/95373.shtm
iih.phxwcu.cn/28206.shtm
iih.phxwcu.cn/24288.shtm
iih.phxwcu.cn/44220.shtm
iij.phxwcu.cn/24240.shtm
iij.phxwcu.cn/82462.shtm
iij.phxwcu.cn/71999.shtm
iij.phxwcu.cn/51755.shtm
iij.phxwcu.cn/79399.shtm
iij.phxwcu.cn/79137.shtm
iij.phxwcu.cn/11933.shtm
iij.phxwcu.cn/77119.shtm
iij.phxwcu.cn/91155.shtm
iij.phxwcu.cn/26822.shtm
iik.phxwcu.cn/42080.shtm
iik.phxwcu.cn/24244.shtm
iik.phxwcu.cn/91535.shtm
iik.phxwcu.cn/84060.shtm
iik.phxwcu.cn/91775.shtm
iik.phxwcu.cn/11173.shtm
iik.phxwcu.cn/99393.shtm
iik.phxwcu.cn/13317.shtm
iik.phxwcu.cn/82262.shtm
iik.phxwcu.cn/22802.shtm
iil.phxwcu.cn/57913.shtm
iil.phxwcu.cn/57859.shtm
iil.phxwcu.cn/51311.shtm
iil.phxwcu.cn/97199.shtm
iil.phxwcu.cn/20084.shtm
iil.phxwcu.cn/75519.shtm
iil.phxwcu.cn/80644.shtm
iil.phxwcu.cn/88204.shtm
iil.phxwcu.cn/44046.shtm
iil.phxwcu.cn/04628.shtm
iiz.phxwcu.cn/37373.shtm
iiz.phxwcu.cn/77573.shtm
iiz.phxwcu.cn/53593.shtm
iiz.phxwcu.cn/11579.shtm
iiz.phxwcu.cn/37555.shtm
iiz.phxwcu.cn/15397.shtm
iiz.phxwcu.cn/46286.shtm
iiz.phxwcu.cn/88464.shtm
iiz.phxwcu.cn/15535.shtm
iiz.phxwcu.cn/48206.shtm
iix.phxwcu.cn/93999.shtm
iix.phxwcu.cn/77793.shtm
iix.phxwcu.cn/13957.shtm
iix.phxwcu.cn/93737.shtm
iix.phxwcu.cn/68406.shtm
iix.phxwcu.cn/02646.shtm
iix.phxwcu.cn/95315.shtm
iix.phxwcu.cn/95975.shtm
iix.phxwcu.cn/64600.shtm
iix.phxwcu.cn/11339.shtm
iic.phxwcu.cn/77937.shtm
iic.phxwcu.cn/68622.shtm
iic.phxwcu.cn/33177.shtm
iic.phxwcu.cn/91115.shtm
iic.phxwcu.cn/11519.shtm
iic.phxwcu.cn/62848.shtm
iic.phxwcu.cn/37999.shtm
iic.phxwcu.cn/75797.shtm
iic.phxwcu.cn/39531.shtm
iic.phxwcu.cn/44462.shtm
iiv.phxwcu.cn/39955.shtm
iiv.phxwcu.cn/66028.shtm
iiv.phxwcu.cn/80066.shtm
iiv.phxwcu.cn/19599.shtm
iiv.phxwcu.cn/42006.shtm
iiv.phxwcu.cn/79939.shtm
iiv.phxwcu.cn/00844.shtm
iiv.phxwcu.cn/53399.shtm
iiv.phxwcu.cn/15771.shtm
iiv.phxwcu.cn/17773.shtm
iib.phxwcu.cn/55399.shtm
iib.phxwcu.cn/19377.shtm
iib.phxwcu.cn/97753.shtm
iib.phxwcu.cn/91379.shtm
iib.phxwcu.cn/33591.shtm
iib.phxwcu.cn/31953.shtm
iib.phxwcu.cn/11937.shtm
iib.phxwcu.cn/91913.shtm
iib.phxwcu.cn/31339.shtm
iib.phxwcu.cn/71733.shtm
iin.phxwcu.cn/37379.shtm
iin.phxwcu.cn/53979.shtm
iin.phxwcu.cn/57579.shtm
iin.phxwcu.cn/51355.shtm
iin.phxwcu.cn/77573.shtm
iin.phxwcu.cn/97717.shtm
iin.phxwcu.cn/91575.shtm
iin.phxwcu.cn/04226.shtm
iin.phxwcu.cn/99939.shtm
iin.phxwcu.cn/64882.shtm
iim.phxwcu.cn/80006.shtm
iim.phxwcu.cn/71779.shtm
iim.phxwcu.cn/97777.shtm
iim.phxwcu.cn/95391.shtm
iim.phxwcu.cn/31375.shtm
iim.phxwcu.cn/11937.shtm
iim.phxwcu.cn/84406.shtm
iim.phxwcu.cn/97531.shtm
iim.phxwcu.cn/99735.shtm
iim.phxwcu.cn/51937.shtm
ioq.phxwcu.cn/55759.shtm
ioq.phxwcu.cn/79337.shtm
ioq.phxwcu.cn/57771.shtm
ioq.phxwcu.cn/84686.shtm
ioq.phxwcu.cn/46242.shtm
ioq.phxwcu.cn/24008.shtm
ioq.phxwcu.cn/68804.shtm
ioq.phxwcu.cn/19573.shtm
ioq.phxwcu.cn/82028.shtm
ioq.phxwcu.cn/93751.shtm
iow.phxwcu.cn/77915.shtm
iow.phxwcu.cn/73111.shtm
iow.phxwcu.cn/26684.shtm
iow.phxwcu.cn/28604.shtm
iow.phxwcu.cn/05537.shtm
iow.phxwcu.cn/79791.shtm
iow.phxwcu.cn/95173.shtm
iow.phxwcu.cn/64082.shtm
iow.phxwcu.cn/44284.shtm
iow.phxwcu.cn/91199.shtm
ioe.phxwcu.cn/37519.shtm
ioe.phxwcu.cn/26662.shtm
ioe.phxwcu.cn/53216.shtm
ioe.phxwcu.cn/02440.shtm
ioe.phxwcu.cn/28864.shtm
ioe.phxwcu.cn/13951.shtm
ioe.phxwcu.cn/79391.shtm
ioe.phxwcu.cn/99973.shtm
ioe.phxwcu.cn/59517.shtm
ioe.phxwcu.cn/17995.shtm
ior.phxwcu.cn/62068.shtm
ior.phxwcu.cn/12220.shtm
ior.phxwcu.cn/86206.shtm
ior.phxwcu.cn/71151.shtm
ior.phxwcu.cn/23248.shtm
ior.phxwcu.cn/62626.shtm
ior.phxwcu.cn/77599.shtm
ior.phxwcu.cn/19333.shtm
ior.phxwcu.cn/24404.shtm
ior.phxwcu.cn/28424.shtm
iot.phxwcu.cn/93735.shtm
iot.phxwcu.cn/79599.shtm
iot.phxwcu.cn/02460.shtm
iot.phxwcu.cn/75595.shtm
iot.phxwcu.cn/82862.shtm
iot.phxwcu.cn/97357.shtm
iot.phxwcu.cn/77991.shtm
iot.phxwcu.cn/24866.shtm
iot.phxwcu.cn/79395.shtm
iot.phxwcu.cn/55915.shtm

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/16 5:33:05

Polymarket预测市场模拟交易工具:零风险学习链上金融衍生品

1. 项目概述与核心价值最近在研究链上预测市场&#xff0c;发现一个挺有意思的开源项目&#xff1a;jchimbor/polymarket-paper-trader。简单来说&#xff0c;这是一个针对Polymarket预测市场的“模拟交易”或“纸面交易”工具。Polymarket本身是一个基于Polygon链的去中心化预…

作者头像 李华
网站建设 2026/5/16 5:31:05

AI智能体开发全攻略:从框架选型到工程化部署

1. 项目概述&#xff1a;一个为智能体开发者准备的“军火库” 如果你正在或打算涉足AI智能体&#xff08;Agent&#xff09;的开发领域&#xff0c;那么你很可能已经体会过那种“万事开头难”的窘境。从零开始构建一个具备感知、决策和执行能力的智能体&#xff0c;远不止是调用…

作者头像 李华
网站建设 2026/5/16 5:27:07

Elasticsearch:实战指南:从零到一构建PEM与P12安全证书体系

1. 为什么Elasticsearch需要安全证书&#xff1f; 如果你正在搭建Elasticsearch集群&#xff0c;安全证书可能是最容易被忽视但又最关键的一环。想象一下&#xff0c;你的集群就像一座存放重要文件的仓库&#xff0c;如果没有门锁&#xff08;安全证书&#xff09;&#xff0c;…

作者头像 李华
网站建设 2026/5/16 5:26:18

告别时间错乱:深度排查Win7 w32time服务异常(从服务依赖到NTP配置)

深度解析Windows 7时间服务故障排查指南 当你的Windows 7电脑频繁出现时间不同步问题时&#xff0c;表面看似简单的时间显示错误&#xff0c;实则可能隐藏着复杂的系统级故障。作为资深Windows系统管理员&#xff0c;我经历过无数次类似案例&#xff0c;发现大多数用户仅停留在…

作者头像 李华
网站建设 2026/5/16 5:25:16

混沌加密在卫星视频传输中的高效实现与优化

1. 混沌加密技术概述混沌加密是一种基于非线性动力学系统的现代加密技术&#xff0c;其核心思想是利用混沌系统对初始条件的极端敏感性&#xff08;即著名的"蝴蝶效应"&#xff09;和长期行为的不可预测性来构建加密算法。与传统加密方法相比&#xff0c;混沌加密具有…

作者头像 李华