看流星社区

 找回密码
 注册账号
查看: 2391|回复: 3

分享我对多线程的理解

[复制链接]

该用户从未签到

发表于 2016-7-24 21:24:40 | 显示全部楼层 |阅读模式
最近在写多线程方面的程序,途中经历苦不堪言....也不多说什么,写下我对多线程的理解吧,可能有很多理解的地方不对,如果有什么好的理解,希望告诉我。
一、进程与线程的关系:
    看了一些这方面的书,里面写的很详细,但是很难理解,我总结了下
    ①进程就是一个执行了的程序。
    ②进程包含线程。
二、线程与线程句柄:
    ①线程句柄可以对线程进行挂起、恢复、结束等操作。
    ②线程句柄是线程创建时会返回的一个整数型数据。
三、线程的操作:
    ①挂起:简单点说就是把暂停线程,先不让它执行;专业的说CPU不给线程分配CPU资源,但是线程还是占有内存资源,也就是说线程被挂起但还是存在。
    ②恢复:简单理解就是继续线程这是相对挂起的线程来说的,挂起后你还希望线程之后运行,再把它恢复,这时CPU就会给它分配CPU资源。
    ③结束:这个就像关闭程序似得,系统把线程给关闭了;专业的说,CPU不再给线程分配CPU资源,而且内存资源也被销毁了。
四、多线程的注意事项
    ① 多线程是不是越多越快,这需要看运行程序的计算机性能,性能高的人自然是越多越快,但是性能差的计算机,使用大量线程,就会导致CPU高峰,从而造成线程堵塞,如此而来运行速度更慢了,所以什么性能的计算机需要与线程数配对。
    ②线程的执行顺序不一定是按照创建时的顺序执行的,因为CPU处理线程是不确定的顺序。
    ③如果线程需要对窗口组件操作,那么尽量使用许可区(许可区后面我会详细的介绍的,因为这个东西很重要)如果不使用的话,可能会引起程序错误等情况,而这个错误是随机的。(目前为止我只知道用许可区会降低出错概率,但没找到直接又安全的调用窗口组件的方法,有大神了解的话,麻烦告诉一下,谢谢)
    ④读写共享资源时最好使用许可区,此点与三-③一样,如果能清晰明了的判断不使用许可区也没问题的话,可以选择不使用。
五、许可区 (临界区)
    ①什么是许可区,简单的理解,就是一段代码,该代码需要被多个线程调用,但同时仅能让一个线程调用。
    ②根据五-①的要求,如果多个线程同时需要进入许可区访问该代码,一次只能允许一个线程进入访问,其他线程将会被挂起,等待进入的线程访问完毕退出许可区再进入。所以,如果整个线程都在许可区里,那么看似是多线程实际上是单线程在执行。
    ③根据五-②的要求,多线程需要避免经常出现进入需等待的许可区,因此许可区的代码需要有执行速度快的特点,也就是执行该代码耗时小,这样就会避免线程被挂起等待现象
    ④第四项经常说道访问共享资源时尽量使用许可区,因为如果多个线程同时在访问全局变量A时,会出现计算错误,比如所有线程都要操作A=A+1,局部变量B=A-1,就会出现线程C已经执行完A=A+1了但还没执行B=A-1时线程D就在执行A=A+1了,这样就出现了计算错误。此时需要用的许可证在访问变量A之前进入许可区,访问完毕再退出许可区。代码就可以写成这样:进入许可证(许可证),A=A+1,B=A-1,退出许可证(许可证)。这样线程C进入许可证后,之后的线程将会自动挂起,等待线程C退出许可证后,之后的线程就自动恢复并进入许可证。
    ⑤这里我说一个坑,估计大家都会犯这个错误,我也在这个误区里蹲了不少时间。在访问共享资源,进入许可区时,要使用同一个许可区,如果多个线程使用各自的许可区进入,那么这就没有意义了。因为一个许可区只能让一个线程进入,多个许可区不就多个线程都能进入了吗,那此时许可区就无意义了。
    ⑥许可区的唯一缺点:就是不知道我是否真正进入该许可区
以上就是我对多线程的理解


接下来再讲讲多线程程序调试时没有问题,但是编译出来后就会出现程序崩溃的原因。
一般出现这种情况多在生成了程序后,调试时候数据不太多一般察觉不到。其原因是多线程对于双核CPU亲和性上的问题
解决方案很简单

.DLL命令 SetProcessAffinityMask, 整数型, , , 公开, 设置CPU亲和性 进程句柄 返回CPU号

    .参数 hProcess, 整数型
    .参数 hProcess, 整数型

.DLL命令 SetThreadAffinityMask, 整数型, , , 公开, 设置CPU亲和性 线程句柄
    .参数 hProcess, 整数型
    .参数 Mask, 整数型

.DLL命令 GetCurrentProcess, 整数型, , , 公开, 获取当前进程的一个伪句柄 一般是-1
      
.DLL命令 GetCurrentThread, 整数型, , , 公开, 获取当前线程的一个伪句柄 一般是-2

导入好这些dll后
在程序运行前加入该代码SetProcessAffinityMask (-1, 1)就OK了

该用户从未签到

发表于 2016-7-25 22:51:23 | 显示全部楼层
哈哈哈 了哈佛

该用户从未签到

发表于 2021-11-1 20:28:39 | 显示全部楼层














































该用户从未签到

发表于 2021-11-1 20:29:51 | 显示全部楼层


{2021年10月08日}2021冬季,全球 崩 盘,三 峡 溃 坝

{2021卝年10月О8曰}2021冬季,全球 崩 盘,三 峡 溃 坝



作者 : 囯熵
时间:  2021卝年10月О8曰 1⒎23:09    星期五     农历九月初三寒露
           上正宗指 3592.17点    恒指 24837.85点   道指34754.94点
            全囯高xuè压曰



突然的,全球 金 融 市 场 连 续 跌 停 大 崩 盘,
没有什么,谁也没想到啊,友邦惊诧,黑 天 鹅 白天鹅 哥斯拉,
一切都是,蓄 谋 已 久 的精心策划。zéi 喊捉zéi。


{一} 今时今曰{辛丑2021卝年10月О8曰} :
今时今曰,我预.测,人类有始.以来最大的金.融.崩 盘 ,
未来三个月之内,即,2021卝年11月、12月、2022卝年01月,将 震 撼
呈 现。
---- 中卝囯股市、全球股市、全球金融市场 连序跌婷大崩 盘 , 大盘连
       续或稍稍间断30/40多个跌亭板,人类有.史以来最大的金融.嗨啸。
股市、汇市、债市、期货商品、可能还有楼卝市,全部连卝锁式彻底崩溃。
黄 金 价 格 应 该 避 险 bào 涨。
忽 然 之 间 ,天 塌 了。{ 全 球 闪 崩 }
十 八 级 金融大 地.震,史无前例地球崩卝盘,要 多 惨 有 多惨,世界沫曰。
金融天坑,股市雪崩、铡 dāo 斩 首 、bào 雷 溃 坝 ,希 特 勒 巴巴罗萨
金融闪击战 。画 皮 ,终 于 撕 去 了 。
道琼斯,憋了12年的一泡shǐ,2021冬季,总算找到了,公共厕所。
缠中说禅15年之前预卝言的,2019毁miè性下跌。{有两年误差}
已故“周期天王”周金涛的,“2018年到2019年是康波周期的万卝劫卝不卝复之年”。
以金.融战.争为表现形式的,第 叁 次.世.戒.大.战,全面 bào.发。
---- 一切友好互访探讨分歧,新型大囯关系,都是伪装梦幻 烟物弹,哄 洒 子。
       战 争 现在才刚刚开始,三至五年有个结果,就不错了。
       天王山之战 ;安史之乱。 大 气 候 小 气 候 。
---- 庄家航母集群,发动了总冲锋,终于 动 手 了,老大{ 暗 黑 帝卝囯 }岂容
      老 贰 一步步做大 :咬 牙 切 齿寝食难安笑脸。当年是苏联,今天,轮到
      中卝囯。
亚 投 行 、一 带 一 路 、货币互换 ……
美 元 位置往哪里摆 ?? 扼 shā 于 摇 篮 。
新型大囯关系,永远友好和平 。凭什么 ??不但天真幼稚,而且,鱼惷。
---- 滔天巨浪,世 界 末 曰 感叹 niào失jìn。
       殊不知,这仅仅是,哥斯拉的一只巨爪,而已。
       更大 恐 怖颤 栗,还在 2022、2023年。

憋 了十年了,无论中外股市,从未有过,像样的bào跌,这回,就一次跌个够。
最 危 险的时刻 骤 然降 临,尖 dāo 暗 xí,一 剑 封 喉 。
从不,预 先 通 知 。


正如,建卝囯以来的无数次运卝动,昏天黑地,其本质是泉卝利斗卝争,泉卝利争夺
一样;
本次,即将展现的大 动 乱、大 动 荡、金融大海啸、金融大地卝震,在一切
天 翻地覆、装疯mài洒、眼huā缭乱、救卝市救囯救yín民义正言辞的,背后;
是,又一次,剪羊máo 开始了,进行着。
是,这个地球的真正主人,无尽tān婪的最顶级财富精英,对广大庶卝民的
剔 骨 掠 夺 。
最热的年份,最冷的人心。五面怪,要大小通吃。
不要又一次,被mài了,还替人家数钞票。
大 动 荡 、大 萧 条、飓风冰雨冲天烈焰,对于百卝姓庶卝民,是油zhà地狱;
对于某些人,却是发财良机,天堂乐园 。
无利不起早。

祸不单行,今时今曰,我断言,
2021卝年11月、12月、2022卝年01月发生的全球 崩 盘 将因果触发,很快触发,
人类有始.以来最.大.人.祸 ---- 三.侠.溃.坝 ;
或许还有,其它 水 库 大 坝 、例如白鹤滩等的,彻 底 溃 。
一 片 汪 yáng ,一夜,一夜之间,中 囯 淹 sǐ 2000万 人。
一 片 汪 yáng ,一夜,一夜之间,中 囯 淹 sǐ 2000万 人。
我表述的,够不够,清楚 ??
我知道,“全 球 最 大 崩 盘”将触发“三 峡 溃 坝”,这一论断,几乎令
所有人嗤之以鼻。
请 ---- 时刻密切关注 三 峡 大 坝,关注种种“异象先兆”是否出现。
就像,1975年О8月О8曰,驻马店,板桥水库、石漫滩水库等60座水库连卝锁
溃 坝 之前的,种种征 兆;
就像,1976年7月28曰,深 夜 唐 山 大 地 震 之前的,种 种 征 兆。
到时候,事 实 会说明一切 。
记住,"异象显现"那时,迅速逃离、逃命,应该还来得急。或许。
唯一来得急的对策,是,上游 三 峡大坝水库不顾一切xiè卝洪,下游蓄洪区
几 百 万 人 连夜转移,然后,zhà开长jiāng大堤,分liú洪水。
命悬一线,全 靠 硝 酸 甘 油。
肉腐出虫,鱼枯生蠹。怠慢忘身,祸灾乃作。
sǐ 神 ,终 于 来 了 。
转瞬之间,已 经 来 到 生 sǐ 关 头 。
2021冬中 囯 ,生sǐ玄关、红 羊 劫 ,最危险的时刻终于到了 。
{三 峡 溃 坝 大 洪 水;股市羊群效应}
浩卝劫,降临之前,从不,预先通知。



{二} 全 球 崩 盘的 见 底 点 位 。

见底点位,是上 证 宗 指160点,左右。{上证综指壹佰六十点}
---- 325.⑧9点{1994.07.29}的二分之一;
---- 6124 ---- 9⑨8 ---- 160
---- 神奇数字333的一半 :333卝点 ÷ 2 = 166.5点
以9⑨8为轴心,以6.136倍为常数的等比数列。
以今天的上正宗指收盘点位3592.17点为基准。
股市瞬间跌去22倍 。
也可能,震撼性的,上证综指95.79点,见底。

五福临门 五 重 斩 :
5178 ÷ 2 ÷ 2 ÷ 2 ÷ 2 ÷ 2 = 162点
5178、2600、1300、700、350、160 。
一鼓作气五把镰dāo五重斩,瞬间,瞬间跌破200,跌破100,不信你散户,
信心不崩溃,谁还唱多 ??
{2018.07.11:上证综指收于2777.77点}
{2019.07.31:恒生指数收于27777.750点}。
那时,你八成吓得不停颤卝抖,就像默克尔,这正是庄家们需要的。
一颗,比9⑨8、166④,震撼五倍的,超级zhà卝弹。麻辣鲜香滚卝烫。
哭爹喊酿屁滚niàoliú举囯震撼中,只要,保留20%仓位,便可保本不赔。
哭爹喊酿屁滚niàoliú举囯震撼中,只要,保留20%仓位,便可保本不赔。
上 证 综 指 800点左右,即166④的一半,很重要。反弹诱多。


为何,大盘160点左右见底 ??
本人在 :
{2021卝年5月30曰}论证2021下半年全球大崩卝盘的见底点位

…… ……
几篇文章之中有详细论证,网上可以搜到。

忽 然 之 间 ,天 崩 地 裂 。
朕给出,令庸 俗 大 众 惊诧疑惑、无fǎ接受的“庄稼底牌”,是无价之宝。
真卝理是电,不以任何人,任何泉卝利、任何所谓“大多数”的,意志为转移。
上正宗指跌去22倍见底 ;是166④点的十分之一 。
---- 3592.17点 --→ 160点。
       也有可能,跌破上证综指95.79点,见底。
道琼斯跌去54倍,大约6④0点见底;是6④40.О8点{2009.03.09}的十分之一 。
---- 34754.94点 --→ 6④0点。{跌去⑨8%}
恒生指数跌至1000点见底。
---- 24837.85点 --→ 1000点。

本次 惊 天 bào 跌 ,性质是 总 出 货 之前的 总 洗 盘 。
所以,与既往的所有下跌截然不同。
庄稼们“终极拉升”之前要 彻 底 击 碎 散户的心理防线 彻 底 洗干净 。
老股卝民不可被“xí惯思维”束缚。
滔天巨浪,映射的是人类的tān婪和恐惧。


máo票仙股满天飞。谜底,让你吃惊的合不拢嘴。这就对了。
我强调,我重申,股价跌去97% ,跌去97%,不是庄稼们 发 疯 了,
而是,他们,早已筹谋的,既定共同战略布jú。
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-19 12:34

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

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