【发布时间】:2017-07-26 09:10:31
【问题描述】:
我想一个接一个地运行两个函数来访问第三个函数,条件是当第一个函数使用第三个函数时,第二个函数应该等待。在第一次访问第三个函数的时间段结束后应该可以使用第三个函数了。
这个概念听起来像是通过上下文切换实现循环调度。我理论上知道这一点,但我想实际应用它。我怎样才能做到这一点并进行上下文切换?有人可以给我一个例子来做到这一点吗?还有其他方法可以实现吗?
编辑:实际上我正在使用 gmap.net 在谷歌地图上绘制标记。我为这两个标记创建了两个线程函数。它们将从两个单独的文件中获取所需的数据。将其转换为 lat long 并绘制map.with 这种方法,我正在为具有相同功能的两个函数创建重复的函数。但我想这不是一种好的编程方式,所以我想使用一个通用函数来绘制和从文件中获取数据以进行转换。
所以当一个线程正在访问公共函数时,另一个线程应该等待。一旦第一个线程释放该函数或超过它在该函数上工作的时间段,它应该执行上下文切换,第二个线程应该访问公共函数。 这就是我想要实现的。如果我应该修改我的方法,请告诉我。
【问题讨论】:
-
请详细说明你的意思,也许用伪代码写出来,或者给出一个流程图应该是怎样的,因为这个文本块对我没有多大帮助
-
改写您的问题,使其更易于阅读,并添加一些您尝试过的代码等。
-
@Icepickle 请找到更新后的问题..
-
@JoshuaBakker 先生,请找到更新后的问题
标签: c# multithreading context-switch round-robin