怎么互斥访问共享数据

问题描述

stringsqlstr="DataSource=DELL-PC;InitialCatalog=hospital;IntegratedSecurity=True";SqlConnectionconn=newSqlConnection(sqlstr);conn.Open();stringstr="select*fromtable1";SqlCommandcommd=newSqlCommand(str,conn);SqlDataReaderreader=commd.ExecuteReader();reader.Read();Response.Write(reader[0].ToString());reader.Close();conn.Close();

table1表中只有3个数分别是1,2,3我想要的功能是:打开第一个页面如果显示是1,则其它两个页面只能显示2或3;如果显示的是2,则其它两个页面只能显示1或3;依次类推

解决方案

解决方案二:
没看懂table1表中只有3个数分别是1,2,3那你每个页面不是都会显示1,2,3吗,为什么页面1只会显示个1,这1是从哪里控制的
解决方案三:
把你的“打开页面显示某数”写到你的数据库表中就行了。然后你读取table1表的同时,把这个表也读取一下。
解决方案四:
刚学习设计简单的逻辑程序时,只能够关心数据读写逻辑(还不能关心性能、用户体验等方面),因此你所有的问题基本上都可以先从数据库读写(包括关系数据库的事务保护)角度去设计。

时间: 2024-10-27 01:50:36

怎么互斥访问共享数据的相关文章

Java多线程编程之访问共享对象和数据的方法_java

多个线程访问共享对象和数据的方式有两种情况: 1.每个线程执行的代码相同,例如,卖票:多个窗口同时卖这100张票,这100张票需要多个线程共享. 2.每个线程执行的代码不同,例如:设计四个线程,其中两个线程每次对j增加1,另外两个线程每次对j减少1. a.如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个对象中有共享数据.卖票就可以这样做,每个窗口都在做卖票任务,卖的票都是同一个数据(点击查看具体案例). b.如果每个线程执行的代码不同,就需要使用不同的Runnable对象,有

深入理解linux互斥锁(mutex)

                                      深入理解linux互斥锁(mutex)     锁机制,可以说是linux整个系统的精髓所在,linux内核都是围绕着同步在运转.在多进程和多线程编程中,锁起着极其重要的作用.我这里说的是互斥锁,其实是泛指linux中所有的锁机制.我在这里不讲如果创建锁,关于锁的创建,网上代码很多,我在这里就不多说了.我要谈一谈一个让所有刚刚接触锁机制的程序员都很困惑的问题:如何使用以及锁机制在程序中是如何运作的.     为什么要使用

linux之线程之互斥

线程概述: 其实在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone().该系统copy了一个和原先进程完全一样的进程,并在这 个进程中执行线程函数.不过这个copy过程和fork不一样.copy后的进程和原先的进程共享了所有的变量,运行环境.这样,原先进程中的变量变动在 copy后的进程中便能体现出来. 大部分多线程程序需要在线程间共享数据.如果两个线程同时访问共享数据就可能有问题,因为一个线程可能在另一个线程修改共享数据的过程中使用该数据:并认为共享数据保持不变

二、(LINUX 线程同步) 互斥量、条件变量以及生产者消费者问题

原创转载请注明出处: 接上一篇: 一.(LINUX 线程同步) 引入  http://blog.itpub.net/7728585/viewspace-2137980/ 在线程同步中我们经常会使用到mutex互斥量,其作用用于保护一块临界区,避免多线程并发操作对这片临界区带来的数据混乱, POSIX的互斥量是一种建议锁,因为如果不使用互斥量也可以访问共享数据,但是可能是不安全的. 其原语包含: pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; 

java基础多线程之共享数据

java基础巩固笔记5-多线程之共享数据 线程范围内共享数据 ThreadLocal类 多线程访问共享数据 几种方式 本文主要总结线程共享数据的相关知识,主要包括两方面:一是某个线程内如何共享数据,保证各个线程的数据不交叉:一是多个线程间如何共享数据,保证数据的一致性. 线程范围内共享数据 自己实现的话,是定义一个Map,线程为键,数据为值,表中的每一项即是为每个线程准备的数据,这样在一个线程中数据是一致的. 例子 package com.iot.thread; import java.util

Linux下的多进程间共享资源的互斥访问

#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/mman.h> #include <pthread.h> pthread_mutex_t* g_mutex; //创建共享的mutex void init_mutex(void) { int ret; //g_mutex一定要是进程间可以共享的,否则无法

硅谷杂志:基于数据中心共享的培训管理系统应用

[硅谷网12月7日文]据<硅谷>杂志2012年第18期刊文,对数据中心共享平台进行 深入研究,并将其应用到重庆市电力公司教育培训中心培训管理系统部署中.介绍培训管理系统的体系架构并 重点阐述在该项目中采用的数据共享与交换工作模式.系统平台设计.数据共享与交换平台的功能.数据共享与交换平台的体系结构等,最后对系统实施效果做详细分析.实际应用表明,采用数据中心共享技术对培训管理系统在应用服务的稳定性.先进性.科学合理的资源调配.创新性以及从提高管理效率和质量,提高社会效益和经济效益等方面都有显著

在微服务中如何管理数据

来自Stitch Fix团队的工程副总裁Randy Shoup在QCon纽约2017会议上讨论了如何在基于微服务的应用中管理数据和隔离持久化.他还介绍了将事件(Event)作为微服务的第一类构造.他介绍自己的团队将机器学习技术应用到了业务的各个组成部分,比如购买.库存管理以及风格推荐等. 个性化推荐会基于库存运行机器学习,从而创建出推荐的算法.这些推荐算法随后会被全国范围内的设计师所监管,从而形成个性化风格的推荐. 微服务架构是渐进演化的.像eBay.Twitter和Amazon这样的组织都经历

一起谈.NET技术,.NET并行(多核)编程系列之七 共享数据问题和解决概述

之前的文章介绍了了并行编程的一些基础的知识,从本篇开始,将会讲述并行编程中实际遇到一些问题,接下来的几篇将会讲述数据共享问题. 本篇的议题如下: 1.数据竞争 2.解决方案提出 3.顺序的执行解决方案 4.数据不变解决方案 在开始之前,首先,我们来看一个很有趣的例子: class BankAccount { public int Balance { get; set; } } class App { static void Main(string[] args) { // create the