生产者与消费者

生产者与消费者
生产者与消费者

重庆交通大学

《计算机操作系统》课程设计报告

班级:计软专业 2013 级 2 班

姓名:

学号:

课程设计题目:生产者/消费者与FCFS 所属课程:计算机操作系统

实验室(中心):语音大楼801 指导教师:刘洋

完成时间: 2015 年 12 月 5 日

信息科学与工程学院课程设计成绩单

课程名称:计算机操作系统指导教师:刘洋

重庆交通学院信息科学与工程学院课程设计任务书

生产者/消费者与FCFS

一、内容提要

操作系统是计算机的核心软件,是计算机专业学生的专业必修课。进程同步问题是计算机操作系统中的重点内容,而生产者-消费者问题是进程同步问题中的经典,它是计算机中相互合作进程关系的一种抽象,该问题具有很大的代表性和使用价值。

在计算机系统中,很多问题都可以归结为生产者与消费者问题,提别是在通讯和控制系统中。因此,对该类问题的研究是非常必要的。一般而言,我们把提供给某种资源的进程(线程)称之为生产者,二吧消耗资源的进程(线程)称之为消费者。在大多数情况下,生产者和消费者的数目都是多于一个的。下面以多个进程(线程)共享一有界缓冲池为例来说明。

如图,左端箭头表示生产者,右端箭头表示消费者,设P

1、P

2

、…、P

K

是k

个想缓冲池装入数据的进程(线程)(生产者)C

1、C

2

、…、C

m

是m个冲缓冲池

中取出数据进行处理的进程(线程)(消费者),假设对任何P

i

每次向缓冲区

中申请一空白缓冲区,并把数据装入其中;而对于常见的情况是任何C

i

每次都从缓冲池中取出一满缓冲区的内容,并进行相应的处理,并把缓冲区清空。而每次生产者装入数据和消费者取出数据都是相同的(这是最常见的情况)。针对以上进程(线程)通信,如不对生产者进程(线程)和消费者(线程)的操作进行限制,则可能破坏数据的完整性。一种情况是一个生产者进程(线程)正在装入数据到缓冲区时,另外的生产者进程(线程)可能同时把数据写入相同区域,造成数据破坏,另一种情况是一个生产者进程(线程)正在装入数据到缓冲区时,另外的消费者进程(线程)可能读入该区域数据,由于数据未写完,从而造成消

费者读到的数据是不完整的。

对于先来先服务,如果早就绪的进程排在就绪队列的前面,迟就绪的进程排在就绪队列的后面,那么先来先服务总是把当前处于就绪队列之首的那个进程调度到运行状态。也就是说,它只考虑进程进入就绪队列的先后,而不考虑它的下一个CPU的长短及其他因素。

二、正文

(一)问题分析和任务定义

1、生产者/消费者

(1)生产者与消费者之间的关系问题。作为消费者(P

1、P

2

、…、P

K

)它每次都

需要消耗缓冲池中空白缓冲区;而消费者(C

1、C

2

、…、C

m

)它每次都需要消耗

缓冲池中的满缓冲区,并给缓冲池中提供空白缓冲区。因此,生产者群体和消费者之间首先存在同步问题。为了提高系统的效率,也就是说有生产者正在装入数据到空白数据缓冲区时,消费者可以提取已经装满数据的满缓冲区,因此,生产者和消费者之间可以不应该存在互斥关系。

(2)生产者(P

1、P

2

、…、P

K

)群体内部的关系问题:当有生产者P

i

正在装入数

据时,如果这时又有生产者P

j

到达,如允许其也进行装入数据工作,则有可能导致数据装入同一缓冲区,造成数据丢失,因此,必须让所有生产者以互斥方式对缓冲区进行操作。

(3)消费者(C

1、C

2

、…、C

m

)群体内部的关系问题。当有消费者C

i

正在取出数

据时,如果这时又有消费者C

j

到达,如果允许其取出数据工作,则有可可能导致同一缓冲区多次取用,这也是不能允许的,因为一个数据只能使用一次。因此,必须让所有消费者以互斥方式对缓冲池进行操作。

2、FCFS

先来先服务算法按照作业进入系统后备作业队列的先后次序挑选作业,先进

入系统的作业将优先被挑选进入主存,创建用户进程,分配所需资源,然后,移入就绪队列.这是一种非剥夺式调度算法,易于实现,但效率不高.只顾及作业的等候时间,未考虑作业要求服务时间的长短,不利于短作业而优待长作业,不利于I/O繁忙型作业而有利于CPU繁忙型作业.有时为了等待场作业执行结束,短作业的周转时间和带全周转时间将变得很大,从而若干作业的平均周转时间和平均带权周转时间也变得很大。

(二)环境简介

Windows系统电脑一台;

JDK环境下用EditPlus软件编写程序。

(三)设计

1、生产者/消费者

(1)数据结构与核心算法描述

①Storage类模拟缓冲池,包含数据成员如下:

private int

pnumber;

; import .*;

import MyFrame extends JFrame

{

private JFrame myframe;

private Button pbutton;

private Button cbutton;

private MyCanvas mycanvas;

private Storage storage;

private final int TABLE_WIDTH = 400;

private final int TABLE_HEIGHT = 300;

public MyFrame()

{

myframe=new JFrame("生产者消费者-63刘沅良");

pbutton=new Button("生产");

cbutton=new Button("消费");

storage=new Storage();

mycanvas=new MyCanvas(storage);

(new Dimension(TABLE_WIDTH,TABLE_HEIGHT));

(pbutton,;

(cbutton,;

(mycanvas);

();

(new ActionListener(){

public void actionPerformed(ActionEvent e)

{

new Thread(new Productor(storage,mycanvas)).start();

}

});tart();

}

});

;

(true);

}

}

class Storage

{

private int pnumber;cnumber=cnumber;

}

public int countNumber()

{

=pnumber-cnumber;

return number;

public void setStorageBallFlag() {

if(countNumber()== 0)

{

flag1 = false;

flag2 = false;

flag3 = false;

}

if(countNumber() == 1)

{

flag1 = true;

flag2 = false;

flag3 = false;

}

if(countNumber() == 2)

{

flag1 = true;

flag2 = true;

flag3 = false;

}

if(countNumber() == 3)

{

flag1 = true;

flag2 = true;

flag3 = true;

}

public boolean getFlag1()

{

return flag1;

}

public boolean getFlag2()

{

return flag2;

}

public boolean getFlag3()

{

return flag3;

}

}

class MyCanvas extends Canvas

{

private final int BALLSIZE;

private int ballx;

private int bally;

Storage storage;

public MyCanvas(Storage storage) {

BALLSIZE=30;

ballx=50;

bally=50;

=storage;

}

public void paint(Graphics mygraphics)

{

;

(50, 50, 150, 30);

(200, 200, 150, 30);;

import View

{

private JFrame f = new JFrame("先来先服务-63刘沅良");

private final int T = 200;

private final int TABLE_WIDTH = 400;

private final int TABLE_HEIGHT = 300;

private final int BALL_SIZE = 20;

private MyCanvas mc = new MyCanvas();

FlowLayout flow = new FlowLayout();

private Button start = new Button("开始");

Queue queue = new LinkedList();

private boolean flag1 = true;

private boolean flag2 = true;

private boolean flag3 = true;

private boolean flag4 = true;

tart();

new Thread(new TBall2()).start();

new Thread(new TBall3()).start();

new Thread(new TBall4()).start();

}

});

;

(true);

}

public void setBALL1(int b1_x, int b1_y) {

try

{

(200);

}

catch (InterruptedException e)

{

();

}

= b1_x;

= b1_y;

();

}

public void setBALL2(int b2_x, int b2_y) {

try

{

(200);

} catch (InterruptedException e)

{

();

}

= b2_x;

();

}

public void setBALL3(int b3_x, int b3_y) {

try

{

(200);

}

catch (InterruptedException e)

{

();

}

= b3_x;

= b3_y;

();

}

public void setBALL4(int b4_x, int b4_y) {

try

{

(200);

}

catch (InterruptedException e) {

}

= b4_x;

= b4_y;

();

}

class TBall1 implements Runnable

{

@Override

public void run()

{

for(int i = 0; i < T; i++) {

b1_x = b1_x + b1_v;

setBALL1(b1_x,b1_y);

if(flag1 == true)

{

if(b1_x >= 190)

{

flag1 = false;

("A");

b1_v = 0;

}

}

if( () == "A" && b1_x >= 190)

{

b1_y = 140;

if(b1_x >= 330)

{

b1_v = 0;

break;

}

}

}

}

}

class TBall2 implements Runnable

{

@Override

public void run()

{

for(int i = 0; i < T; i++)

{

b2_x = b2_x + b2_v;

setBALL2(b2_x,b2_y);

if(flag2 == true)

{

if(b2_x >= 190)

{

flag2 = false;

("B");

}

}

if( () == "B" && b2_x >= 190)

{

b2_v = 10;

b2_y = 140;

if(b2_x >= 330)

{

b2_v = 0;

// msg = true;

break;

}

}

}

}

}

class TBall3 implements Runnable

{

@Override

public void run()

{

for(int i = 0; i < T; i++)

{

b3_x = b3_x + b3_v;

setBALL3(b3_x,b3_y);

实验1:生产者消费者问题

福建农林大学金山学院实验报告 系(教研室):专业:计算机科学与技术年级: 实验课程:生产者与消费者实验姓名:学号: 实验室号:1#608 计算机号:实验时间:指导教师签字:成绩: 实验1:生产者消费者问题 一、实验目的 生产者消费者问题是操作系统中经典的同步和互斥问题。通过实验,要求学生掌握两者之间的同步信号量和互斥信号量的使用,更深刻了解临界资源、同步和互斥的概念。 二、实验要求 1.一组生产者通过一个具有N个缓冲区的缓冲池循环不断地向一组消费者提供产 品。 2.建一个队列, 队列的长度由n记录, 定义两个指针, 分别指向队列的头和尾消 费者从头指针读取数据,每读取一个数据把n--,生产者把数据写入尾指针, 每写入一个数据就n++,当n=N的时候生产者暂停写入数据。 3.注意:缓冲池队列,用互斥锁保护。 三、实验内容和原理 1.分别画出生产者和消费者的流程图

2.针对生产者和消费者问题,可以分为哪几种情况,使用了哪些原语?分别代表 什么意思?过程如何?阐述哪些进程之间存在同步,哪些进程之间存在互斥。 3.缓冲区是否为临界资源?是否可以循环使用?通过什么来实现?举例说明(可 画图) 四、实验环境 1. 硬件:PC机; 2. 软件:Windows操作系统、。 五、算法描述及实验步骤 #include <> #include const unsigned short SIZE_OF_BUFFER = 10; unsigned short ProductID = 0; unsigned short ConsumeID = 0;

unsigned short in = 0; unsigned short out = 0; int g_buffer[SIZE_OF_BUFFER]; bool g_continue = true; HANDLE g_hMutex; HANDLE g_hFullSemaphore; HANDLE g_hEmptySemaphore; DWORD WINAPI Producer(LPVOID); DWORD WINAPI Consumer(LPVOID); int main() { g_hMutex = CreateMutex(NULL,FALSE,NULL); g_hFullSemaphore = CreateSemaphore(NULL,SIZE_OF_BUFFER-1,SIZE_OF_BUFFER-1,NULL); g_hEmptySemaphore = CreateSemaphore(NULL,0,SIZE_OF_BUFFER-1,NULL); const unsigned short PRODUCERS_COUNT = 3; const unsigned short CONSUMERS_COUNT = 1; const unsigned short THREADS_COUNT = PRODUCERS_COUNT+CONSUMERS_COUNT; HANDLE hThreads[PRODUCERS_COUNT]; DWORD producerID[CONSUMERS_COUNT]; DWORD consumerID[THREADS_COUNT]; for (int i=0;i

消费者行为学实训报告

江苏建筑职业技术学院 《消费者行为学》实训报告 题目:家庭消费行为决策 班级:营销11-1,2 小组成员:苗伟;张艳伟 指导教师:张忠新 报告日期:2012年6月20日

目录 一、实训时间 二、实训地点 三、实训目的 四、实训题目描述和要求 五、实训过程概述 六、实训内容 七、实训总结 八、附录(问卷调查)

一、实训时间 2012年6月18号~6月23号 二、实训地点 江苏建筑职业技术学院机房 徐州市铜山区文沃小区5栋103号 三、实训目的 了解群体、阶层、家族、年龄与消费者行为特点调查 四、实训题目描述和要求 选择一个家庭为调查单位,了解家庭的消费行为决策状况及行为特征

五、实训过程概述 四天的实训时间结束了,在老师的带领下,我们终于圆满完成了关于家庭消费行为决策的调查。我们通过对选择一个家庭为调查单位的方式,了解家庭的消费行为决策状况和主要特征,这些实践活动使我们大学生深入社区群众之间,与他们零距离接触,深入发现他们当前得消费状况,进行心灵上的沟通。并将理论与实践相结合,以小见大,从而来达到了解家庭消费行为决策的目的,诸如此类活动,使我们受益匪浅。 六、实训内容 第一天,我们按照实训安排准时到达实训地点学校机房,老师为我们分配了关于家庭消费行为决策的任务。首先我们通过从网上搜寻资料,了解到了: 1、家庭结构类型及功能 2、家庭生命周期及发展趋势 3、影响家庭消费决策的主要因素 4、家庭决策消费主要消费特征 接下来几天,我们又开始寻找某个家庭作为调查对象,经过重重阻碍,终于经允许我们走进了铜山新区文沃社区5栋103室的张先生家中,恰巧张先生一家三口都在家中,我们首先向张先

生产者与消费者问题(Java)

package Table; public class Message { public static int id; public String content; public String getContent() { return content; } public void setContent(String content) { this.content = content; } public int getId() { return id; } public void setId(int id) { Message.id = id; } } package Table; import java.util.ArrayList; import java.util.List; public class Queue { List queue = new ArrayList(); /** 队列中message对象的最大值,默认为10 */ int maxMessageNum = 10; public synchronized void produce(Message message) { /**synchronized为关键字,表示在任何一个线程要访问缓冲区时都会 检查有无其他线程访问此段内容,有的话则等待,无的话则直接访问**/ this.notifyAll(); while (queue.size() == maxMessageNum) { System.out.println(Thread.currentThread().getName() + "the desk is full, and the chef want to relax"); try { this.wait(); } catch (InterruptedException e) { e.printStackTrace();

1实验1:生产者消费者问题

1实验1:生产者消费者问 题 -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

福建农林大学金山学院实验报告 系(教研室):专业:计算机科学与技术年级: 实验课程:生产者与消费者实验姓名:学号: 实验室号:1#608 计算机号:实验时间:指导教师签字:成绩: 实验1:生产者消费者问题 一、实验目的 生产者消费者问题是操作系统中经典的同步和互斥问题。通过实验,要求学生掌握两者之间的同步信号量和互斥信号量的使用,更深刻了解临界资源、同步和互斥的概念。 二、实验要求 1.一组生产者通过一个具有N个缓冲区的缓冲池循环不断地向一组消费者提供 产品。 2.建一个队列, 队列的长度由n记录, 定义两个指针, 分别指向队列的头和尾消费 者从头指针读取数据,每读取一个数据把n--,生产者把数据写入尾指针, 每写 入一个数据就n++,当n=N的时候生产者暂停写入数据。 3.注意:缓冲池队列,用互斥锁保护。 三、实验内容和原理 1.分别画出生产者和消费者的流程图

2.针对生产者和消费者问题,可以分为哪几种情况,使用了哪些原语分别代表什 么意思过程如何阐述哪些进程之间存在同步,哪些进程之间存在互斥。 3.缓冲区是否为临界资源是否可以循环使用通过什么来实现举例说明(可画图) 四、实验环境 1. 硬件:PC机; 2. 软件:Windows操作系统、。 五、算法描述及实验步骤 #include <> #include const unsigned short SIZE_OF_BUFFER = 10; unsigned short ProductID = 0; unsigned short ConsumeID = 0; unsigned short in = 0;

生产者与消费者

重庆交通大学 《计算机操作系统》课程设计报告 班级:计软专业 2013 级 2 班 姓名: 学号: 课程设计题目:生产者/消费者与FCFS 所属课程:计算机操作系统 实验室(中心):语音大楼801 指导教师:刘洋 完成时间: 2015 年 12 月 5 日 信息科学与工程学院课程设计成绩单

课程名称:计算机操作系统指导教师:刘洋

重庆交通学院信息科学与工程学院课程设计任务书

生产者/消费者与FCFS 一、内容提要 操作系统是计算机的核心软件,是计算机专业学生的专业必修课。进程同步问题是计算机操作系统中的重点内容,而生产者-消费者问题是进程同步问题中的经典,它是计算机中相互合作进程关系的一种抽象,该问题具有很大的代表性和使用价值。 在计算机系统中,很多问题都可以归结为生产者与消费者问题,提别是在通讯和控制系统中。因此,对该类问题的研究是非常必要的。一般而言,我们把提供给某种资源的进程(线程)称之为生产者,二吧消耗资源的进程(线程)称之为消费者。在大多数情况下,生产者和消费者的数目都是多于一个的。下面以多个进程(线程)共享一有界缓冲池为例来说明。 如图,左端箭头表示生产者,右端箭头表示消费者,设P 1、P 2 、…、P K 是k 个想缓冲池装入数据的进程(线程)(生产者)C 1、C 2 、…、C m 是m个冲缓冲池 中取出数据进行处理的进程(线程)(消费者),假设对任何P i 每次向缓冲区 中申请一空白缓冲区,并把数据装入其中;而对于常见的情况是任何C i 每次都从缓冲池中取出一满缓冲区的内容,并进行相应的处理,并把缓冲区清空。而每次生产者装入数据和消费者取出数据都是相同的(这是最常见的情况)。针对以上进程(线程)通信,如不对生产者进程(线程)和消费者(线程)的操作进行限制,则可能破坏数据的完整性。一种情况是一个生产者进程(线程)正在装入数据到缓冲区时,另外的生产者进程(线程)可能同时把数据写入相同区域,造成数据破坏,另一种情况是一个生产者进程(线程)正在装入数据到缓冲区时,另外的消费者进程(线程)可能读入该区域数据,由于数据未写完,从而造成消

操作系统生产者与消费者问题实验报告

《操作系统》实验报告 生产者和消费者的问题 一、实验目的 1.掌握基本的同步与互斥的算法,理解基本的生产者与消费者的模型。 2.学习使用Windows 2000/XP中基本的同步对象,掌握相关的API的使用方法。 3.了解Windows 2000/XP中多线程的并发执行机制,线程间的同步和互斥。 二、实验的内容及其要求 1.实验内容 以生产者/消费者模型为根据,在Windows 2000环境下创建一个控制台进程,在改进程中创建n个线程模拟生产者和消费者,实现进程(线程)的同步与互斥。 2.实验要求 ①学习并理解生产者/消费者模型及其同步/互斥规则 ②学习了解Windows同步对象及其特性 ③熟悉实验环境,掌握相关API的使用方法 ④设计程序,实现生产者/消费者进程(线程)的同步与互斥 ⑤提交实验报告 三、实验的时间安排 1.实验前,先到图书馆或上网百度了解有关生产者/消费者模型的相关知识,建立生产者/消费者模型的基本概念。 2.利用13周、15周、17周的上机时间编写和调试程序代码。 3.利用其他课余时间来分析实验的最终结果并完成相关的实验报告。 四、实验的环境 1.硬件条件:普通计算机一台 2.软件条件:①操作系统:Windows 2000/XP ②开发语言:VC++ 本实验是在Windows 2000+VC6.0环境下实现的,利用Windows SDK提供的系统接口(API)完成程序的功能。实验在Windows下安装VC后进行,因为VC是一个集成开发环境,其中包含了Windows SDK所有工具和定义,所以安装了VC后就不用特意安装SDK了。实验中所用的API(应用程序接口),是操作系统提供的用来进行应用程序设计的系统功能接口。要使用这些API,需要包含对这些函数进行说明的SDK 头文件,最常见的就是windows.h。一些特殊的API调用还需要包含其他的头文件。 五、正文 1.程序结构图:

实验报告五 生产者和消费者问题

实验报告五 ——生产者和消费者问题 姓名:丛菲学号:20100830205 班级:信息安全二班一、实习内容 ?1、模拟操作系统中进程同步和互斥 ?2、实现生产者和消费者问题的算法实现 二、实习目的 ?1、熟悉临界资源、信号量及PV操作的定义与物理意义 ?2、了解进程通信的方法 ?3、掌握进程互斥与进程同步的相关知识 ?4、掌握用信号量机制解决进程之间的同步与互斥问题 ?5、实现生产者-消费者问题,深刻理解进程同步问题 三、实习题目 ?在Linux操作系统下用C实现经典同步问题:生产者—消费者,具体要求如下: (1)一个大小为10的缓冲区,初始状态为空。 (2)2个生产者,随机等待一段时间,往缓冲区中添加数据,若缓冲区已满,等待消 费者取走数据之后再添加,重复10次。 (3)2个消费者,随机等待一段时间,从缓冲区中读取数据,若缓冲区为空,等待生 产者添加数据之后再读取,重复10次。 ?提示 本实验的主要目的是模拟操作系统中进程同步和互斥。在系统进程并发执行异步推进的过程中,由于资源共享和进程间合作而造成进程间相互制约。进程间的相互制约有两种不同的方式。 (1)间接制约。这是由于多个进程共享同一资源(如CPU、共享输入/输出设备)而引起的,即共享资源的多个进程因系统协调使用资源而相互制约。 (2)直接制约。只是由于进程合作中各个进程为完成同一任务而造成的,即并发进程各自的执行结果互为对方的执行条件,从而限制各个进程的执行速度。 生产者和消费者是经典的进程同步问题,在这个问题中,生产者不断的向缓冲区中写入数据,而消费者则从缓冲区中读取数据。生产者进程和消费者对缓冲区的操作是互斥,即当前只能有一个进程对这个缓冲区进行操作,生产者进入操作缓冲区之前,先要看缓冲区是否已满,如果缓冲区已满,则它必须等待消费者进程将数据取出才能写入数据,同样的,消费者进程从缓冲区读取数据之前,也要判断缓冲

消费者行为学课内实验三

《消费者行为学》课实验三 项目名称:创新产品扩散影响因素的调查分析报告 专业: 姓名: 学号: 撰写时间:

目录 1.创新产品扩散相关理论 (3) 1.1创新产品 (3) 1.2创新产品扩散式 (3) 1.3影响创新产品扩散的因素 (3) 2. 研究设计 (4) 2.1 研究目的 (4) 2.2 研究对象 (4) 2.3 研究法 (4) 3. 创新产品扩散因素分析 (4) 3.1产品特征 (4) 3.2目标市场的特性 (6) 3.3市场营销活动 (8) 4. 创新产品扩散式预测 (8) 附录:防雾霾口罩扩散影响因素调查问卷

1.创新产品扩散相关理论 1.1创新产品 创新包括多个面如产品创新、工艺创新、市场创新和管理创新等;从消费者行为研究角度,我们将创新主要限定在“产品创新”这一意义来使用。产品创新是指新进导入市场且被消费者视为较现有产品更为新颖的产品。按照联邦贸易委员会规定,如果一种产品在广告中宣称为新产品,则该产品的市场导入时间不能超过6个月。一种产品能否被视为创新产品,取决于该产品在多大程度上引起消费者行为的改变。 1.2创新产品扩散式 创新扩散式或类型大致可分为三种,即正常型、快速扩散型、缓慢扩散型。 1.3影响创新产品扩散的因素 扩散过程成种类型,或者说扩散曲线具体呈种形状,取决于很多的影响因素。主要影响因素包括:(1)产品特征。如相对优点、兼容性、可观察性、可适用性、低复杂性等都将影响创新产品被采用的速度,因而影响创新扩散曲线的形状。(2)目标市场的特性。例如,面向年轻、受过良好教育和更富流动性的消费群体销售的产品,被采用的速度更快,同时产品进入衰退期的时距也更短。(3)市场营销活动。企业能够通过有效的营销策略,如更高的品质、大规模的宣传等影响创新产品扩散的进程。

生产者消费者问题设计与实现

操作系统课程设计任务书

目录

1.选题背景 生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品。解决生产者/消费者问题的方法可分为两类:(1)采用某种机制保护生产者和消费者之间的同步;(2)在生产者和消费者之间建立一个管道。第一种方式有较高的效率,并且易于实现,代码的可控制性较好,属于常用的模式。第二种管道缓冲区不易控制,被传输数据对象不易于封装等,实用性不强。因此本文只介绍同步机制实现的生产者/消费者问题。 同步问题核心在于:如何保证同一资源被多个线程并发访问时的完整性。常用的同步方法是采用信号或加锁机制,保证资源在任意时刻至多被一个线程访问。Java语言在多线程编程上实现了完全对象化,提供了对同步机制的良好支持。在Java中一共有四种方法支持同步,其中前三个是同步方法,一个是管道方法。 2.设计思路 .生产者—消费者问题是一种同步问题的抽象描述。 计算机系统中的每个进程都可以消费或生产某类资源。当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。 而当某个进程释放资源时,则它就相当一个生产者 3.过程论述 首先,生产者和消费者可能同时进入缓冲区,甚至可能同时读/写一个存储单元,将导致执行结果不确定。这显然是不允许的。所以,必须使生产者和消费者互斥进入缓冲区。即某时刻只允许一个实体(生产者或消费者)访问缓冲区,生产者互斥消费者和其他任何生产者。 其次,生产者不能向满的缓冲区写数据,消费者也不能在空缓冲区中取数据,即生产者与消费者必须同步。当生产者产生出数据,需要将其存入缓冲区之前,首先检查缓冲区中是否有“空”存储单元,若缓冲区存储单元全部用完,则生产者必须阻塞等待,直到消费者取走一个存储单元的数据,唤醒它。若缓冲区内有“空”存储单元,生产者需要判断此时是否有别的生产者或消费者正在使用缓冲区,若是有,则阻塞等待,否则,获得缓冲区的使用权,将数据存入缓冲区,释放缓冲区的使用权。消费者取数据之前,首先检查缓冲区中是否存在装有数据的存储单元,若缓冲区为“空”,则阻塞等待,否则,判断缓冲区是否正在被使用,

操作系统实验报告生产者消费者问题

操作系统课程设计 一.实验目标 完成N个生产者和M个消费者线程之间的并发控制,N、M不低于30,数据发送和接收缓冲区尺寸不小于20个(每个产品占据一个)。 其中生产者线程1、3、5、7、9生产的产品供所有奇数编号的消费者线程消费,只有所有奇数编号的消费者线程都消费后,该产品才能从缓冲区中撤销。 其中生产者线程2、4、6、8、10生产的产品所有偶数编号的消费者线程都可消费,任一偶数编号消费者线程消费该消息后,该产品都可从缓冲区中撤销。 其中11-20号生产者线程生产的产品仅供对应编号的消费者线程消费。 其他编号生产者线程生产的产品可由任意的消费者线程消费。 每个生产线程生产30个消息后结束运行。如果一个消费者线程没有对应的生产者线程在运行后,也结束运行。所有生产者都停止生产后,如果消费者线程已经

没有可供消费的产品,则也退出运行。 二.实验原理 2.1原理 生产者与消费者线程采用posix互斥锁机制进行互斥进入各自的代码段,只有采用互斥锁临界区代码段才可以不被打扰的执行;同步机制采用的是posix条件变量pthread_cond_wait和pthraed_cond_signal进行同步的。 线程间的通信采用的是共享内存机制。(注:所有的共享内存块是在进程里建立的,线程只需链接上各自的共享内存块即可,每一块共享内存的大小是100). 在这里共享内存设置成一个100的数组。 具体实施:(1)为1.3.5.7.9建立一个共享内存1号,1.3.5.7.9生产者线程生产的产品都放入这块共享内存缓冲区,所有奇数的消费者线程要消费的话,只需在消费者线程中链接上这块共享内存,就可以直接消费1.3.5.7.9生产者线程生产的产品。 (2)为2.4.6.8.10建立一块共享内存2号。2.4.6.8.10生产的产品都放入2号共享内存缓冲区,所有的偶数的消费者线程只要链接上2号缓冲区,就可以消费2.4.6.8.10生产的产品。当偶数消费者线程消费产品后,产品即可从缓冲区撤销,方法是在消费线程里将消费的产品在共享内存数组里置0。 (3)为11--20的每一对生产者消费者线程建立一块共享内存,编号11--20. 11--20号的消费者线程能链接各自的共享内存缓冲区或奇数或偶数共享内存缓冲区,即11--20号的生产者生产的产品只能被对应的消费者消费而11-20的奇数消费者可以消费缓冲区1的产品,偶数消费者可消费缓冲区2的产品。 (4)为21--30号的生产者消费者线程只建立一块共享内存21号,21--30号生产者生产的产品都放入21号缓冲区,所有的消费者线程只要链接上21号共享内存,就可以消费21--30号生产者生产的产品。 用于控制线程是否结束的方法是:设置一个全局变量t,在生产者线程里进行t++,在生产者线程里当t达到10时(注:为了很好的测试程序,本应该在生产者生产30个产品时菜结束线程,这里设置成了10),就break跳出while()循环,这样线程自然就终止。同样在消费者线程里,当t达到10时,这里不用t++,就跳出while()循环,消费者线程自然就终止。这样设计满足了,当生产者生产30个产品时就终止生产者线程,生产者线程终止消费者线程也得终止的要求。 生产者从文件so.txt读取数据进行生产,这个文件里的数据是一连串的字符从a--z的组合,没有空格或其他字符。文件内容的格式没有特殊要求。

生产者与消费者实验报告

生产者和消费者实验报告 【实验目的】 1.加深对进程概念的理解,明确进程和程序的区别。 2.进一步认识并发执行的实质。 3.验证用信号量机制实现进程互斥的方法。 4.验证用信号量机制实现进程同步的方法。 【实验要求】 用c语言编程搭建“生产者和消费者”经典进程通信问题的环境。要求程序运行时,按任意键停止,显示当前系统的各个参数的值。提交实验报告,以及相关程序列表。打包成附件上传。 【实验环境】 Visual C++6.0 【实验内容】 1.了解经典同步问题“生产者和消费者” 生产者与消费者可以通过一个环形缓冲池联系起来,环形缓冲池由几个大小相等的缓冲块组成,每个缓冲块容纳一个产品。每个生产者可不断地每次往缓冲池中送一个生产产品,而每个消费者则可不断地每次从缓冲池中取出一个产品。指针i和指针j分别指出当前的第一个空缓冲块和第一个满缓冲块。 2.分析和理解 (1)既存在合作同步问题,也存在临界区互斥问题 合作同步:当缓冲池全满时,表示供过于求,生产者必须等待,同时唤醒消费者;当缓冲池全空时,表示供不应求,消费者应等待,同时唤醒生产者。 互斥:缓冲池显然是临界资源,所在生产者与消费都要使用它,而且都要改变它的状态。 (2)基于环形缓冲区的生产者与消费者关系形式描述: 公用信号量mutex:初值为1,用于实现临界区互斥 生产者私用信号量empty:初值为n,指示空缓冲块数目 消费者私用信号量full:初值为0,指示满缓冲块数目 整型量i和j初值为0,i指示首空缓冲块序号,j指示首满缓冲块序号 (3)PV原语 var mutex,empty,full:semaphore; i,j:integer;buffer:array[0...n-1] of item; i:=j:=1; Procedure producer; begin while true do begin

消费者行为学(1)

消费者行为学 题型:名词解释、单选、多选、判断、简答题、案例题(①2006年春节黄金周香港迪斯尼拒客事件②企业市场营销与消费者行为,即最后一章,会出案例题) 名词解释 1、面子消费和象征消费(二者选一) 面子消费:指在消费中更重视别人的看法和意见,更关注戈恩消费的社会群体效应。 象征消费:指的是消费具有符号象征。即消费不仅是物理或物质的消费,而且也是象征的消费。 2、参考群体和意见领袖(二者选一) 参考群体:消费者在个体形成购买决策时,作为参考、比较的个人或群体。 意见领袖:是指那些更频繁或更多地向其他消费者提供信息,从而在更大程度上影响他人的态度和行为的消费者。 简答题: 1、简述消费者行为学的演进和发展 (1)萌芽与初创时期:20世纪20年代以前,这一时期研究的重点是促进企业的产品销售,而非满足消费者需求;1901年,美国斯科特《广告心理学》被任务标志这消费心理学前身的出现。 (2)应用与发展时期:①20世纪30年代世界性经济危机,商品市场完全转变为买方市场;企业纷纷奉行“市场观念”,研究消费者心理趋势逐渐形成。其中首先取得进展的是消费者动机的研究。一些工程师、制造商发现产品外观、造型、性能等对消费者心理有重要影响,为消费者心理与行为开辟了一个新的领域;②20世纪60年代蓬勃发展:1960年美国心理学会成立——独立学科正式产生;1968年第一部消费者行为学教材诞生;③1969年每个消费者研究协会诞生。 (3)变革与创新时期:①20世纪70年代以来,有关消费者心理与行为的研究进入全名发展和成熟的阶段;②20世纪80年代后出现了新的研究领域主题,如顾客满意度、品牌、客户关系等。而我国直到20世纪80年代才引入研究:不成熟、前景广阔。 2、简述消费者行为学多学科研究视野 学科间的借鉴、沟通、联系、整合,增加消费者行为理论的时代感与解释力。消费者行为是一个非常复杂的现象,它隐含了心理、社会、经济、文化等多个层面的含义,具有多维度多层次的特点。 (1)经济学视角:理性的消费者 对于消费者而言,经济学首先假定:消费者具有完全理性,即消费者完全了解自己消费的物品,自觉把效用最大化为目标;存在消费者主权,即由消费者决定自己的消费,当然也间接决定生产;效用仅仅来源于物品的消费。 (2)心理学视角:感性而又理性的消费者 心理学认为,消费者是一个心理、意识和行为融为一体的个体。消费者行为进行的过程,也是消费心理和消费需求不断满足的过程。 ①动力派:需求、动机——马斯洛需求理论 ②行为派:外显行为+内隐行为(黑箱);研究外显,拒绝心理。

操作系统生产者消费者问题实验报告

实验报告二 实验名称:一、生产者-消费者问题的多线程解决方案 二、设计一个执行矩阵乘法的多线程程序 日期:2015-10-22 班级:13级计科学号:姓名: 一、实验目的 1.掌握线程的同步与互斥 2.掌握生产者消费者的实现问题 3.掌握多线程的编程方法 4.掌握矩阵乘法的基本计算原理以及实现 二、实验内容 1.生产者-消费者问题的多线程解决方案 2.设计一个执行矩阵乘法的多线程程序 三、项目要求与分析 1.请查阅资料,掌握线程创建的相关知识以及矩阵乘法的相关知识,了解java语言程序编写的相关知识 2.理解线程的实验步骤 在本次试验中,以“生产者-消费者”模型为依据,提供了一个多线程的“生产者-消费者”实例,编写java代码调试运行结果,得出相应的结论。 理解矩阵乘法的实验步骤 四、具体实现 1.生产者-消费者实例 (1)创建一个缓冲信息发送接收通道接口,并创建邮箱盒子类实现,主要代码如下: ength; j++) { ength; j++)

{ " "); } ""); } ""); } (1)创建多线程类,并实现Runnable接口同步对矩阵进行分行计算,主要代码如下: etName()+"\t开始计算第 "+(task+1)+"行"); for(int i=0; i<; i++) { for(int j=0; j<; j++) { [task][i] += [task][j] * [j][i]; } } } ; } (2)通过不断改变矩阵大小,线程数目,,调试程序,运行结果: 五、所遇问题与解决方法 1.在生产者-消费者多线程试验中,刚开始没有考虑到使用线程睡眠,运行结 果速度之快,没法观看数据变化,后面定义了睡眠控制,使得问题得以解决2.在多线程矩阵开发实验中,刚开始定义矩阵太小,测试结果不太明显,后面 通过把矩阵改大,并且线程数目不断变化使得结果明显。 六、实验总结 深刻了解了生产者消费者多线程,进一步理解了“生产者-消费者”模型。同时也掌握了一些java编程语言相关知识。多线程矩阵实验中,发现矩阵小时,线程越少,运行时间越长;而矩阵过大时,线程数量与运行时间成反比。

消费者行为学实验课程大纲1

《消费者行为学实验》课程教学大纲 一、课程基本信息 课程代码:B04030660 课程名称:消费者行为学实验 课程性质:专业课 适用专业:工商管理各专业 开课学期:春季学期 总学时:8学时 总学分:0.5学分 预修课程:管理学、市场营销学 课程简介:实践教学是应用性学科教学方式的生命线。鉴于本门课程的性质和其在专业中的重要地位,消费者行为学课程实验教学的内容主要包括两大方面:一是进行各种以体验与加深消费者行为分析理论的理解为目的的实践活动;二是各种培养学生进行实际消费者行为分析的技能的实践活动。 推荐教材:《消费者行为学》,甘瑁琴主编,北京大学出版社、中国农业大学出版社,2008年 参考书目: [1] 符国群编,《消费者行为学》,武汉大学出版社, 2005 年出版 [2]龚振编,《消费者行为学》,广东高等教育出版社, 2004 年出版 二、课程总目标 本课程实践教学的目的是为了加深学生对消费者行为理论的理解,培养学生从事消费者行为研究的能力和创新思维能力,同时提高学生将消费者行为研究的发现应用于营销决策的实践能力。 三、实践教学内容与目标(含学时分配) 1.消费者行为认知(0.5学时): 通过对某一产品或某一行业的消费者行为的分析,加深对消费者行为的认识。实验内容:(1)访问一位商人,要求他或她为消费者行为下一个定义,同时请她或他谈谈了解消费者行为在改善其工作绩效方面所起的作用。这些回答在多大程度上反映了现代市场营销观念?(2)访问一位经理或店主,询问那些变量是营销消费者行为的重要因素。将这些因素与书中介绍的影响变量作比较,你从中可得出什么结论? 2.测量消费者的购买动机并制定相应营销策略(1学时): 掌握测量消费者购买动机的方法并如何利用动机知识吸引目标消费者。实验内容:(1)总结出测量显性动机和隐性动机的方法,并找出一个直接迎合显性动机、间接迎合隐性动机的广告,解释该广告是怎样和为什么使用这两种方法。以调查购买手机的大学生为对象进行研究。(2)找出一则重点体现自我实现需要的广告和一则重点体现安全需要的广告,解释这两则广告是如何分别体现这两种需要以及企业为什么要迎合这两种需要。 3.利用消费者知觉制定营销策略(0.5学时): 掌握如何利用消费者知觉制定营销策略。实验内容:(1)访问1 0名同学,询问他们在电视或电台播放广告时在干什么?你能从中得出什么结论?(2)选择三则印刷品广告,找出用来吸引受众注意力的所有可能的刺激物因素。(3)找出三个你认为设计得比较好的三个你认为涉及有问题的品牌名,解释你如此选择的理由。 4.利用学习理论来教育消费者(1学时): 掌握如何利用学习理论来教育消费者。实验内容:分别找三个利用了经典条件反射、操作条件反射、认知学习理论的广告,并分析广告运用得是否成功。 5.测量态度并改变消费者的态度(1学时): 掌握如何测量态度的方法以及改变态度的营销策略。实验内容:访问5名外班同学,运用语意差别法测量他们对两个熟悉的大型商场的态度。根据你的调查结果,为这两家商场提出改进建议。 6.基于目标消费者的个性心理特征来制定相应的营销策略(1学时): 掌握如何基于目标消费者的个性心理特征来制定相应的营销策略。(1)找出并复印或描述针对VALS2每一细分

操作系统实验报告生产者与消费者问题模拟

操作系统上机实验报告 实验名称: 生产者与消费者问题模拟 实验目的: 通过模拟生产者消费者问题理解进程或线程之间的同步与互斥。 实验内容: 1、设计一个环形缓冲区,大小为10,生产者依次向其中写入1到20,每个缓冲区中存放一个数字,消费者从中依次读取数字。 2、相应的信号量; 3、生产者和消费者可按如下两种方式之一设计; (1)设计成两个进程; (2)设计成一个进程内的两个线程。 4、根据实验结果理解信号量的工作原理,进程或线程的同步\互斥关系。 实验步骤及分析: 一.管道 (一)管道定义 所谓管道,是指能够连接一个写进程和一个读进程的、并允许它们以生产者—消费者方式进行通信的一个共享文件,又称为pipe文件。由写进程从管道的写入端(句柄1)将数据写入管道,而读进程则从管道的读出端(句柄0)读出数据。(二)所涉及的系统调用 1、pipe( ) 建立一无名管道。 系统调用格式 pipe(filedes) 参数定义 int pipe(filedes); int filedes[2]; 其中,filedes[1]是写入端,filedes[0]是读出端。 该函数使用头文件如下: #include #inlcude #include 2、read( ) : 系统调用格式 read(fd,buf,nbyte) 功能:从fd所指示的文件中读出nbyte个字节的数据,并将它们送至由指针buf 所指示的缓冲区中。如该文件被加锁,等待,直到锁打开为止。 参数定义:

int read(fd,buf,nbyte); int fd; char *buf; unsigned nbyte; 3、write( ) 系统调用格式 read(fd,buf,nbyte) 功能:把nbyte 个字节的数据,从buf所指向的缓冲区写到由fd所指向的文件中。如文件加锁,暂停写入,直至开锁。 参数定义同read( )。 (三)参考程序 #include #include #include int pid1,pid2; main( ) { int fd[2]; char outpipe[100],inpipe[100]; pipe(fd); /*创建一个管道*/ while ((pid1=fork( ))==-1); if(pid1==0) { lockf(fd[1],1,0); /*把串放入数组outpipe中*/ sprintf(outpipe,child 1 is using pipe!); /* 向管道写长为50字节的串*/ write(fd[1],outpipe,50); sleep(5); /*自我阻塞5秒*/ lockf(fd[1],0,0); exit(0); } else { while((pid2=fork( ))==-1); if(pid2==0) { lockf(fd[1],1,0); /*互斥*/ sprintf(outpipe,child 2 is using pipe!); write(fd[1],outpipe,50); sleep(5); lockf(fd[1],0,0);

操作系统实验报告-三大经典问题之生产者与消费者问题

计算机操作系统实验报告题目三大经典问题之生产者与消费者问题

一、课程设计的性质与任务 1、加深对并发协作进程同步与互斥概念的理解。通过编写程序实现进程同步和互斥,使学生掌握有关进程(线程)同步与互斥的原理,以及解决进程(线程)同步和互斥的算法,从而进一步巩固进程(线程)同步和互斥等有关的内容。 2、掌握进程和线程的概念,进程(线程)的控制原语或系统调用的使用。 3、了解Windows2000/XP中多线程的并发执行机制,线程间的同步和互斥。学习使用Windows2000/XP中基本的同步对象,掌握相应的 API函数。 4、培养学生能够独立进行知识综合,独立开发较大程序的能力。 5、培养提高学生软件开发能力和软件的调试技术。 6、培养学生开发大型程序的方法和相互合作的精神。 7、培养学生的创新意识。 8、培养学生的算法设计和算法分析能力。 9、培养学生对问题进行文字论述和文字表达的能力。 二、课程设计的内容及其要求 在Windows XP、Windows 2000等操作系统下,使用的VC、VB、Java或C等编程语言,采用进程(线程)同步和互斥的技术编写程序实现生产者消费者问题或哲学家进餐问题或读者-写者问题或自己设计一个简单进程(线程)同步和互斥的实际问题。 要求:(1)经调试后程序能够正常运行。 (2)采用多进程或多线程方式运行,体现了进程(线程)同步互斥的关系。 (3)程序界面美观。

三、实验原理 本实验要求利用PV操作实现解决生产者——消费者问题中的同步问题。此问题描述的是一群生产者进程在生产产品并将这些产品提供给消费者进程去消费,在两者之间设置了一个具有n个缓冲区的缓冲池,生产者进程将它所生产的产品放入一个缓冲区,消费者进程可从缓冲区中取走产品去消费,但它们之间必须保持同步,即不允许消费者进程到一个空缓冲区去取产品,也不允许生产者进程向一个已装满且尚未取出的缓冲区中投放产品,并且生产者消费者互斥使用缓冲区。 四、实验原理图 五、算法实现 (1)有一个生产者线程ProduceThread,有1个消费者进程CustomerThread;缓冲区为shareList。 (2)使用线程同步:用synchonized关键字(加锁)使得一个时间

消费者行为学课内实验三

《消费者行为学》课内实验三 项目名称:创新产品扩散影响因素的调查分析报告 专业: 姓名: 学号: 撰写时间:

目录 1.创新产品扩散相关理论 (3) 1.1创新产品 (3) 1.2创新产品扩散方式 (3) 1.3影响创新产品扩散的因素 (3) 2. 研究设计 (4) 2.1 研究目的 (4) 2.2 研究对象 (4) 2.3 研究方法 (4) 3. 创新产品扩散因素分析 (4) 3.1产品特征 (4) 3.2目标市场的特性 (6) 3.3市场营销活动 (8) 4. 创新产品扩散方式预测 (8) 附录:防雾霾口罩扩散影响因素调查问卷

1.创新产品扩散相关理论 1.1创新产品 创新包括多个方面如产品创新、工艺创新、市场创新和管理创新等;从消费者行为研究角度,我们将创新主要限定在“产品创新”这一意义来使用。产品创新是指新进导入市场且被消费者视为较现有产品更为新颖的产品。按照联邦贸易委员会规定,如果一种产品在广告中宣称为新产品,则该产品的市场导入时间不能超过6个月。一种产品能否被视为创新产品,取决于该产品在多大程度上引起消费者行为的改变。 1.2创新产品扩散方式 创新扩散方式或类型大致可分为三种,即正常型、快速扩散型、缓慢扩散型。 1.3影响创新产品扩散的因素 扩散过程成何种类型,或者说扩散曲线具体呈何种形状,取决于很多的影响因素。主要影响因素包括:(1)产品特征。如相对优点、兼容性、可观察性、可适用性、低复杂性等都将影响创新产品被采用的速度,因而影响创新扩散曲线的形状。(2)目标市场的特性。例如,面向年轻、受过良好教育和更富流动性的消费群体销售的产品,被采用的速度更快,同时产品进入衰退期的时距也更短。(3)市场营销活动。企业能够通过有效的营销策略,如更高的品质、大规模的宣传等影响创新产品扩散的进程。

操作系统实验报告--经典的生产者—消费者问题

实验二经典的生产者—消费者问题 一、目的 实现对经典的生产者—消费者问题的模拟,以便更好的理解经典进程同步问题。 二、实验内容及要求 编制生产者—消费者算法,模拟一个生产者、一个消费者,共享一个缓冲池的情形。 1、实现对经典的生产者—消费者问题的模拟,以便更好的理解此经典进程同步问题。生产者-消费者问题是典型的PV操作问题,假设系统中有一个比较大的缓冲池,生产者的任务是只要缓冲池未满就可以将生产出的产品放入其中,而消费者的任务是只要缓冲池未空就可以从缓冲池中拿走产品。缓冲池被占用时,任何进程都不能访问。 2、每一个生产者都要把自己生产的产品放入缓冲池,每个消费者从缓冲池中取走产品消费。在这种情况下,生产者消费者进程同步,因为只有通过互通消息才知道是否能存入产品或者取走产品。他们之间也存在互斥,即生产者消费者必须互斥访问缓冲池,即不能有两个以上的进程同时进行。 三、生产者和消费者原理分析 在同一个进程地址空间内执行两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放一个空缓冲区。当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻挡,直到新的物品被生产出来。 四、生产者与消费者功能描述: 生产者功能描述:在同一个进程地址空间内执行两个线程。生产者线程生产物品,然后将物品放置在一个空缓冲区中供消费者线程消费。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费者线程释放出一个空缓冲区。 消费者功能描述:消费者线程从缓冲区获得物品,然后释放缓冲区,当消费者线程消费物品时,如果没有满的缓冲区,那么消费者线程将被阻塞,直到新的物品被生产出来。 五、实验环境 操作系统环境:Windows系统。 编程语言:C#。

消费者行为学习题及答案

消费者行为学习题及答案

单项选择题 1. 关于消费者行为的专门研究,开始于()。 A)19世纪30年代 B)20世纪30年代 C)19世纪末20世纪初 D)20世纪40年代 2.在消费者品牌选择规则中,允许品牌中较劣的属性与较优的属性相互补偿的是()。 A)期望值选择规则 B)联结式规则 C)重点选择规则 D)编纂式规则 3.将赫兹伯格的双因素理论运用于消费者动机分析,具有多重价值和意义。下列厂商给消费者提供的各种利益和价值中,不能使消费者对其产生满意感的因素是()。 A)商品具有的独特形象 B)商品具备了一定的基本功能 C)商品的外形美观 D)品牌良好的声誉 4. 消费者的绝对感觉阈限值越大,其感受性()。 A)越小 B)因人而异 C)越大 D)不受绝对阈限值的影响 5. 人的大脑对外部信息的知觉,包含相互联系的两种加工:数据驱动加工和概念驱动加工。对于数据驱动的加工形式,下列叙述不正确的是()。 A)数据驱动的加工通常是先对小的知觉单元进行分析 B)数据驱动的加工特别强调外界刺激的作用,强调外部输入信息对加工过程的驱动 C)数据驱动的加工又称为自上而下的加工,是从有关知觉对象的一般知识开始的 D)数据驱动的加工是从较低水平迈向较高水平的 6. 关于消费者的记忆,下列描述正确的是()。 A)消费者的记忆包括识记、再认或回忆三个基本环节 B)消费者的短时记忆是指信息保持在2分钟以内的记忆 C)消费者经过复述,可以将感觉记忆中的信息转移到长时记忆中 D)消费者的长时记忆与短时记忆相比,其容量是相当大的,甚至被认为是无限的 7. 下列关于消费者态度测量的观点,不正确的一项是()。 A)任务完成法属于常用的行为反应测量方法 B)生理反应测量法属于常用的行为反应测量方法 C)距离测量法属于常用的行为反应测量方法 D)消费者态度中的情感成分一般用语意差别量表来进行测量 8. 如果一个消费者的教条性倾向较小,他会()。 A)对不熟悉的事物持开放立场 B)更愿意选择已经成名的产品 C)更容易接受带有“权威诉求”的新产品广告 D)对陌生事物非常不安并怀有戒心 9. 消费者对于文化的学习有两种类型,其中文化移入()。 A)指学习外来新文化 B)指学习本民族的文化 C)保持了民族文化的延续 D)形成了独特的民族个性10. 科尔曼社会地位指数法中,采用的测量指标包括()。 A)社会互动 B)价值取向 C)个人业绩 D)居住的区域

相关文档
最新文档