
线程安全
文章平均质量分 85
gnorth
这个作者很懒,什么都没留下…
展开
-
lua多线程解决方案
先讲下坑点:1、lua_newthread 名称存在误导性,它只是拷贝一个栈,并不是创建一个线程。2、不同的线程使用lua_newthread 出来的栈去调用lua代码,也要加锁,否则也会异常。3、在lua底层有两个宏:lua_lock与lua_unlock,默认的情况下,这两个东西不起作用,lua的作者的本意是希望我们在有并发需求的时候,重写这两个宏,所以只要是底层用到这两个宏的地...原创 2019-10-15 14:49:42 · 7849 阅读 · 1 评论 -
使VC++中的srand rand 简单具备线程安全
如果不考虑把代码封装到一起,可以在每一个线程中调用srand ,这种做法其实也是最标准的,如果代码中要用到随机数的地方比较多,还是不要把srand与rand封装到一起。 如果每个线程会用到的比较少的次数,想把代码封装到一起的前提下,在VC++中可以简单的使用TLS(线程本地储存)来作用一个用于标志的变量来使srand在每个线程中只会被执行一次,由于使用到TLS,在效率上首先就要低得多,因为原创 2013-03-22 11:56:27 · 2437 阅读 · 0 评论