首页 > 其他分享 >两个线程交替打印 0~100 的奇偶数

两个线程交替打印 0~100 的奇偶数

时间:2023-03-29 23:23:03浏览次数:44  
标签:奇偶 PrintThread int self startNum step num 线程 100

 

import threading

class PrintThread(threading.Thread):
    def __init__(self, start_num, step, max_num):
        super(PrintThread, self).__init__()
        self.start_num = start_num
        self.step = step
        self.max_num = max_num

    def run(self):
        i = self.start_num
        while i <= self.max_num:
            print(i)
            i += self.step

# 创建两个线程,分别打印奇数和偶数
t1 = PrintThread(1, 2, 100)
t2 = PrintThread(0, 2, 100)

# 启动线程
t1.start()
t2.start()

# 等待两个线程执行完毕
t1.join()
t2.join()
using System;
using System.Threading;

class PrintThread
{
    private int startNum;
    private int step;
    private int maxNum;

    public PrintThread(int startNum, int step, int maxNum)
    {
        this.startNum = startNum;
        this.step = step;
        this.maxNum = maxNum;
    }

    public void Run()
    {
        for (int i = startNum; i <= maxNum; i += step)
        {
            Console.WriteLine(i);
        }
    }
}

class Program
{
    static void Main(string[] args)
    {
        // 创建两个线程,分别打印奇数和偶数
        PrintThread oddThread = new PrintThread(1, 2, 100);
        PrintThread evenThread = new PrintThread(0, 2, 100);

        // 启动两个线程
        Thread t1 = new Thread(oddThread.Run);
        Thread t2 = new Thread(evenThread.Run);
        t1.Start();
        t2.Start();

        // 等待两个线程执行完毕
        t1.Join();
        t2.Join();
    }
}

 

标签:奇偶,PrintThread,int,self,startNum,step,num,线程,100
From: https://www.cnblogs.com/zhoudelun/p/17270927.html

相关文章

  • 【Redis】多线程Redis的N种架构
    【Redis】多线程Redis的N种架构为什么需要多线程的Redis在单点上利用更多的资源--热点资源官方的多线程只看左边部分其实还是单线程的形式,设置io Thread的数量==》......
  • leetcode-1009-easy
    ComplementofBase10IntegerThecomplementofanintegeristheintegeryougetwhenyouflipallthe0'sto1'sandallthe1'sto0'sinitsbinaryreprese......
  • TOF方案在DW1000上的实现(二):SS-TWR方案代码示例
    说明在由DW1000芯片的制造原厂提供的示例代码中,提供了SS-TWR方案的实现示例:Example6a:single-sidedtwo-wayranging(SSTWR)initiatorExample6b:single-sidedtw......
  • CF1009F 题解
    一、题目描述:给定一棵以 1 为根,n 个节点的树。设 d(u,x) 为 u的子树中到 u 距离为 x 的节点数。对于每个点,求一个最小的 k,使得 d(u,k) 最大。 二、......
  • java线程池详解
    为什么要使用线程池ExecutorService利用池化线程执行任务,Executors的工厂方法可以创建线程池线程池解决了两个问题:减少每个线程创建消耗的时间,复用线程提供管理线程,资......
  • 多线程 互斥锁与读写锁 概念
    一、多线程lock互斥锁简述多线程环境中,不使用lock锁,会形成竞争条件,导致A线程与B线程数据使用冲突。使用lock锁可以保证当有线程操作某个共享资源时,能使该代码块按照指......
  • 多线程socketserver
    模块:socketservertcp协议:服务端:importsocketserverclassMyRequestHandle(socketserver.BaseRequestHandler):defhandle(self):#print(self.request)#......
  • Linux 系统 CPU 100% 打满了!
    1、事件昨天下午突然收到运维邮件报警,显示数据平台服务器cpu利用率达到了98.94%,而且最近一段时间一直持续在70%以上,看起来像是硬件资源到瓶颈需要扩容了,但仔细思考就会发现......
  • 深度学习—LeNet5_CIFAR100代码
     1importtorch2fromtorch.utils.dataimportDataLoader3fromtorchvisionimporttransforms4fromtorchvisionimportdatasets56#########......
  • P1005 [NOIP2007 提高组] 矩阵取数游戏
    思维题:显然每个行可以互相独立来处理。贪心和暴力显然都不容易处理这题,所以我们只能考虑dp。每次只能取最左边和最右边的数,这显然很符合区间dp的特点。所以我们令dp[i]......