我想添加多线程的语言(BlitzBasic)不支持多线程或函数指针,而是从一个.dll获取函数指针
语言的编译器编译成某种形式的不支持运行功能的C被编译成本地代码。它仅限于Windows。
到目前为止,我的想法是在一个dll中创建一个函数,该函数将在BlitzBasic中调用。这个函数会检查调用堆栈以找出调用堆栈的位置。然后它会分叉一个新线程并返回。新线程将等待一段时间(10ms左右),然后在BlitzBasic中函数被调用的位置恢复执行。在BlitzBasic中,你将不得不根据该延迟来控制执行的其余部分(因此,第一个退出该函数的线程会设置一个变量,以告诉第二个线程执行一些不同的功能。)
我知道,多线程引入了很多其他的问题,但我会船到桥头当我到达那里。
有没有找到一个函数的调用堆栈的执行点的方法吗?