关于多线程函数参数传递的问题

Immortalwings Immortalwings 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
主程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int x = 0;int y = 0;
var t1 = new Thread1();
Thread t11 = new Thread(() => t1.hanshu(ref x,ref y));
t11.Start();

for (int s= 0;s<100;s++)
{
Console.WriteLine("x=" + x + " y=" + y);
}
Console.ReadLine();



}
}

}


线程类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{

class Thread1
{
public void hanshu(ref int x,ref int y)
{
for (int s = 0; s < 100; s++)
{
x++;
}
for (int s = 0; s < 100; s++)
{
y++;
}


}
}

}



为什么运行结果是图片中的那样
...全文

相关推荐

Python函数参数传递[项目代码]

它能够帮助开发者避免常见的错误,比如不小心修改了不应该改变的数据,或者在多线程环境中遇到数据不一致的问题。正确地使用参数传递方式不仅可以使代码更加安全,也使得程序的行为更加可预测。

s3t4u

对C语言函数参数传递的探讨——以交换问题为例.pdf

例如,过度使用地址传递可能增加内存访问的不确定性,影响程序的执行效率。此外,在多线程环境中,对共享数据的不当参数传递可能导致线程安全问题。因此,深入掌握参数传递机制,可以更好地编写高效、健壮的代码。

数据资源

java多线程编程之向线程传递数据的三种方法

在Java多线程编程中,向线程传递数据是一个关键的操作,特别是在异步开发模式下。由于线程的并发执行特性,数据的传递不能像同步编程那样直接通过函数参数和返回值来完成。

weixin_38696836

CLIST作为函数参数示例

本示例将深入探讨如何将`CList`作为函数参数来使用,并结合`CEvent`和工作线程,以展示在多线程环境中如何有效地管理数据和同步。首先,理解`CList`的基本用法。

thw01

易语言多线程传递自定义数据(免加延时方法)

**参数传递**:通过函数参数将数据传递给线程,可以是基本类型、结构体或引用类型。3. **共享数据与线程同步**:使用全局变量或共享内存,配合同步原语避免数据冲突。4.

虚坏叔叔
评论 13
收藏 已收藏
分享
返回顶部
Immortalwings
C# 111,128 成员 642,536 内容