标签: round-robin

Python加权随机

我需要根据加权循环法返回不同的值,以便20中的1得到A,20中的1得到B,其余的转到C.

所以:

A => 5%
B => 5%
C => 90%
Run Code Online (Sandbox Code Playgroud)

这是一个似乎有用的基本版本:

import random

x = random.randint(1, 100)

if x <= 5:
    return 'A'
elif x > 5 and x <= 10:
    return 'B'
else:
    return 'C'
Run Code Online (Sandbox Code Playgroud)

这个算法是否正确?如果是这样,可以改进吗?

python algorithm round-robin

24
推荐指数
3
解决办法
4万
查看次数

Linux中的实时调度

今天早上我读到了Linux实时调度.根据Robert Love的"Linux系统编程"一书,有两个主要的调度.一个是SCHED_FIFO,fifo,第二个是循环法SCHED_RR.我理解了fifo和rr算法是如何工作的.但是,由于我们有系统调用,

sched_setscheduler (pid_t pid, int policy, const struct sched_parem *sp)
Run Code Online (Sandbox Code Playgroud)

我们可以为我们的流程明确设置调度策略.所以在某些情况下,由root运行的两个进程可以有不同的调度策略.作为一个具有SCHED_FIFO和另一个具有SCHED_RR并具有相同优先级的进程.在那种情况下,将首先选择哪个流程?FIFO分类过程或RR分类过程?为什么?

考虑这种情况.有三个过程A,B,C.所有人都有同样的优先权.A和B是RR分类过程,C是FIFO分类过程.A和B是可运行的(因此两者都在一段时间内交替运行).目前A正在运行.现在C变得可运行了.在这种情况下,是否

1. A will preempt for C, or
2. A will run until its timeslice goes zero and let C run. Or
3. A will run until its timeslice goes zero and let B run.
   a) here after B runs till its timeslice becomes zero and let C run or
   b) after B runs till its timeslice becomes zero and let A run again (then C will starve …
Run Code Online (Sandbox Code Playgroud)

linux kernel scheduling fifo round-robin

21
推荐指数
2
解决办法
2万
查看次数

Java - 实现循环循环List,并计算元素的访问计数?

场景:


对于包含3个元素[A,B,C]的列表:

您可以根据需要循环访问它.并且还有一个额外的计数功能记录每个元素的访问计数.

例如,如果访问它7次,应返回:


    [A, B, C, A, B, C, A]

并具有以下每个元素的访问计数:


    +–––––––––––+–––––––––––––––+
    |  Element  |  Access count |
    +–––––––––––––––––––––––––––+
    |     A     |       3       |
    +–––––––––––––––––––––––––––+
    |     B     |       2       |
    +–––––––––––––––––––––––––––+
    |     C     |       2       |
    +–––––––––––+–––––––––––––––+

任何回应将不胜感激.

问候.


更新


添加另一个允许调用者指定应该过滤的元素列表的附加函数.仍然使用7次访问作为示例,过滤[C]:


    [A, B, A, B, A, B, A]


    +–––––––––––+–––––––––––––––+
    |  Element  |  Access count |
    +–––––––––––––––––––––––––––+
    |     A     |       4       |
    +–––––––––––––––––––––––––––+
    |     B     |       3       |
    +–––––––––––––––––––––––––––+
    |     C     |       0       |
    +–––––––––––+–––––––––––––––+

并且,随后对getNextOne()的调用应始终获取访问计数低的模拟(模拟负载平衡的访问计数实现).因此,如果第二个调用者尝试访问它10次,则应返回:


    [C, C, C, …

java iterator load-balancing round-robin circular-list

9
推荐指数
2
解决办法
1万
查看次数

操作系统中基于优先级的循环算法:这是先发制人的吗?

在基于优先级的循环算法中,当在较低优先级处理(P2)处理期间到达较高优先级处理(假设P1)时,必须抢占P2并且替代地处理P1.对?

然后,如果,在特定时间量之后(例如10ms)

  • 是P1继续处理?(因为P1具有更高的优先级)

  • 或P1被抢占并且调度程序发送P2(因为在循环中,在时间量之后,必须切换作业)

我认为第二个想法是对的,但是书让我感到困惑.(操作系统概念国际版本练习5.8)

非常感谢

round-robin

8
推荐指数
1
解决办法
2万
查看次数

C#中的循环赛事算法

我在实现这个小循环项目时遇到了一些麻烦.我尝试做的是生成游戏的预览日历

那我想输出;

第1天:第1队与第2队; 第3队与第4队; Team 5vs Team 6;

第2天第1队与第4队; 第6队与第3队; 第2队与第5队;

直到锦标赛结束;

这是我到目前为止所获得的代码,但是我很难让第一个团队修复而阵列的其余部分旋转......:

static void Main(string[] args)
   {
        string[] ListTeam = new string[] {"Equipe1", "Equipe2", "Equipe3", "Equipe4", "Equipe5", "Equipe6"};
        IList<Match> ListMatch = new List<Match>();
        it NumberOfDays = (ListTeam.Count()-1);
        int y = 2;

        for (int i = 1; i <= NumberOfDays; i++)
        {
            Console.WriteLine("\nDay {0} : \n",i);
            Console.WriteLine(ListTeam[0].ToString() + " VS " + ListTeam[i].ToString());

            for (y =ListTeam.Count(); y>0 ; y--)
            {
                Console.WriteLine(ListTeam[y].ToString() + " VS " + ListTeam[y+1].ToString());
                y++; …
Run Code Online (Sandbox Code Playgroud)

c# algorithm round-robin

7
推荐指数
2
解决办法
2万
查看次数

使用循环算法调度负载?

我需要编写一个循环算法来计划加载到n个端点?

所以,如果我有服务器A,B和C.

我想确保为我得到的每个请求循环遍历它们.我如何在C#中执行此操作?

c# round-robin

7
推荐指数
2
解决办法
1万
查看次数

循环时间调度中的时间片

如果循环调度程序的时间片非常大(比如太大),我应该在操作系统中获得什么样的性能影响?

我唯一的想法是,需要大量时间的流程会受益,但大多数流程会占用少量时间,因此会导致延迟完成所有较小的流程?

示例:时间片为50,过程P1 = 400,P2 = 10,P3 = 150,P4 = 20,P5 = 10,P6 = 10

这是我最好的猜测我想知道,如果时间片太小或太大,你们有什么可以分享的.

c operating-system scheduling round-robin job-scheduling

7
推荐指数
1
解决办法
7382
查看次数

循环分配

我有一个客户表,并希望以循环方式为每个客户分配销售人员.

Customers  
--CustomerID  
--FName  
--SalespersonID

Salesperson  
--SalespersonID  
--FName  
Run Code Online (Sandbox Code Playgroud)

所以,如果我有15个客户和5个销售人员,我希望最终结果看起来像这样:

CustomerID -- FName -- SalespersonID  
1 -- A -- 1  
2 -- B -- 2  
3 -- C -- 3  
4 -- D -- 4  
5 -- E -- 5  
6 -- F -- 1  
7 -- G -- 2  
8 -- H -- 3  
9 -- I -- 4  
10 -- J -- 5  
11 -- K -- 1  
12 -- L -- 2  
13 -- M -- 3  
14 …
Run Code Online (Sandbox Code Playgroud)

sql round-robin sql-update

6
推荐指数
1
解决办法
6610
查看次数

任务在循环调度中表现不正确

我在 STM32F4DISCOVERY 板上运行 FreeRTOS,我有以下代码:

xTaskCreate( vTask1, "Task 1", 200, NULL, 1, NULL );
xTaskCreate( vTask2, "Task 2", 200, NULL, 1, NULL );
vTaskStartScheduler();
Run Code Online (Sandbox Code Playgroud)

其中 vTask1 是这个函数:

void vTask1( void *pvParameters )
{
volatile unsigned long ul;

    for( ;; )
    {
        LED_On(0);

        for( ul = 0; ul < mainDELAY_LOOP_COUNT; ul++ )
        {
        }
        LED_On(2);
        LED_Off(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

vTask2 有几乎相同的代码:

void vTask2( void *pvParameters )
{
const char *pcTaskName = "Task 2 is running\n";
volatile unsigned long ul;

    for( ;; )
    { …
Run Code Online (Sandbox Code Playgroud)

operating-system scheduling round-robin freertos stm32f4discovery

6
推荐指数
1
解决办法
321
查看次数

在 Mongodb 中使用集合作为循环的最佳方式是什么

我有一个名为 items 的集合,其中包含三个文档。

{
  _id: 1,
  item: "Pencil"
}
{
  _id: 1,
  item: "Pen"
}
{
  _id: 1,
  item: "Sharpner"
}
Run Code Online (Sandbox Code Playgroud)

我如何查询以循环方式获取文档?考虑一下我同时收到多个用户请求。

所以一个人应该得到Pencil ,另一个人会得到Pen,然后另一个人会得到Sharpner

然后从第一个重新开始。

如果改变模式是一种选择,我也准备好了。

round-robin mongodb

6
推荐指数
1
解决办法
814
查看次数