Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在c中使用线程处理多个查询_C#_Mysql_Sql_.net_Multithreading - Fatal编程技术网

C# 如何在c中使用线程处理多个查询

C# 如何在c中使用线程处理多个查询,c#,mysql,sql,.net,multithreading,C#,Mysql,Sql,.net,Multithreading,我对C中的多线程应用程序有一个问题,我希望能得到一些帮助,因为我是多线程新手 这是一个场景:我将有一个移动应用程序,它将在我的数据库MySQL中执行大量查询/请求,我的目标是创建一个服务器端应用程序,在Linux machinemono中使用C处理多个查询。我的公司正在做应用程序的数据库端,还有另一家公司在做移动应用程序。我将数据发送到云,云服务器将数据发送到客户端 简而言之,我正在通过C和C 4.0阅读CLR的线程章节,但到目前为止,我对我能做什么只有一点线索,我相信异步方法会起作用,因为它不

我对C中的多线程应用程序有一个问题,我希望能得到一些帮助,因为我是多线程新手

这是一个场景:我将有一个移动应用程序,它将在我的数据库MySQL中执行大量查询/请求,我的目标是创建一个服务器端应用程序,在Linux machinemono中使用C处理多个查询。我的公司正在做应用程序的数据库端,还有另一家公司在做移动应用程序。我将数据发送到云,云服务器将数据发送到客户端

简而言之,我正在通过C和C 4.0阅读CLR的线程章节,但到目前为止,我对我能做什么只有一点线索,我相信异步方法会起作用,因为它不会占用很多资源,但我对如何处理线程并发性、状态有点困惑

下面是我的问题:

解决这个问题的最好办法是什么? 来自.NET framework的哪个类最适合此工作? 我应该如何处理查询队列? 我如何能够足够快地处理数千个线程/查询,以便我的移动应用程序用户能够在估计的5分钟内获得查询结果? 一些意见:

我知道完成查询所需的数据和时间将与数据库中用户数据的大小成指数关系,但我需要尽可能快地处理新的和大的数据

我将数据发送到云数据库AmazonEC2,然后从那里发送到客户端。我不会处理这个问题,这将由另一家公司处理,因此我的工作是快速完成查询,并使其可用于云数据库

我知道,要将信息发送给我的客户,我依赖于我的IT基础设施,但这里的要点是:如何以一种我只需担心我的应用基础设施的方式快速解决这个问题

我不能把查询放在一个大字符串上,然后把它放到数据库上,因为我需要在将结果发送给用户之前分别处理每个查询结果


存储引擎是MyISAM,因此不允许任何事务

我将在顶部servicestack或WebAPI上创建一个REST web服务,通过服务抽象对数据的访问。这两种服务中的任何一种都能够处理来自您的移动客户端的同时请求,正如它们设计的那样。此外,我将创建一个类,该类可以调解访问,并为您的数据库ie存储库提供一个工作单元。MySQL的连接提供程序应该能够处理来自web服务的同时请求,因此您不必担心线程和请求管理。如果单个实例还不够,您可以添加更多运行相同代码的web服务器,并使用负载平衡器将请求分发到每个实例,其中服务/数据代码相同

基于mono的web api/servicestack的一些资源:


现在还不清楚移动应用程序将如何与数据库进行通信-你能详细说明一下吗?如果您构建一个web api,您可能会让web服务器处理许多线程问题。此外,使用标准web服务器,您可以启动许多监视和诊断工具。