- 主题:有没有什么办法让裸指针仅限于一个线程访问
一旦跨线程,就报错
--
FROM 112.44.78.*
用这么高大上的特性,只能换rust了。
【 在 fly2never 的大作中提到: 】
: 一旦跨线程,就报错
: --
:
发自「今日水木 on PBCM10」
--
FROM 117.147.22.*
直接访问裸指针应该无法报错。但是可以通过一个函数来访问,就可以报错。
【 在 fly2never 的大作中提到: 】
: 一旦跨线程,就报错
--
FROM 98.42.143.*
设置一个线程钩子,针对NtResumeThread,不是允许的线程,就将指针社成空指针
也可以钩住switchthread,自己的线程切出去时,将指针地址设置为不可读写执行
【 在 fly2never 的大作中提到: 】
: 一旦跨线程,就报错
--
FROM 117.143.127.*
per-thread data structure
thread local storage
只对允许访问的线程初始化
【 在 fly2never 的大作中提到: 】
: 一旦跨线程,就报错
--
FROM 123.112.16.*
不用裸指针,只用智能指针,智能指针构造时取得线程id,deref时检查线程id(慢!!!除非能忍受这个开销)
楼上用TLS不错啊
--
修改:z16166 FROM 111.199.145.*
FROM 111.199.145.*