上一页 1 ··· 301 302 303 304 305 306 307 308 309 ··· 329 下一页
摘要: 2.2.2 使用属性变化监听器作为观察者除了基本的事件委托机制以外,JavaBean引入另一种观察者设计模式的变体,这次是通过属性变化监听器。PropertyChangeListener实现是观察者模式的确切表示。每一个观察者观察Subject的一个属性的变化。当Subject中发生变化时,观察者会被通知新的状态。图2-4显示了与JavaBean库中用于属性变化处理的特定类相关的观察者模式结构。在这种情况下,可观察的Subject具有一个add/remove属性变化监听器方法集合以及一个状态被监视的属性。 使用PropertyChangeListener,注册的监听器集合是在PropertyC 阅读全文
posted @ 2011-03-08 20:14 jlins 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 2.2 多线程的Swing事件处理为了提高其效率并降低其复杂性,所有的Swing组件都被设计为非线程安全的。尽管这听起比较恐怖,他只是简单的意味着对Swing组件的所有访问需要由一个单一线程完成--事件分发线程。如果我们并不确定我们位于一个特定的线程中,我们可以使用public static boolean isDispatchThread()方法请求EventQueue类或是通过public static boolean isEventDispatchThread()方法请求SwingUtilities类。后者只是作为前者的代理。 通过EventQueue类的帮助,我们可以创建Runnabl 阅读全文
posted @ 2011-03-08 18:15 jlins 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 最近一段时间似乎国内的Debian源不是很好用,自163资助cn99以来,似乎源的更新一直不是很及时,而且在我这里连接速度也不是很快,但是有一个这样的源总归还是一件好事。似乎国内的企业对开源或是自由软件不是很热心,而更多的时候大家只是纯粹的拿来,以满足自己的需求为唯一目的,至于所谓的贡献与反馈似乎从来就没有想过,更不要说实际的行动了。相比而言,163至少还为大家提供了开源服务。一直以来在使用anheng的源,具体的也不清楚这是一家什么样的公司。但是最近一段时间以来进行update时总是没有反应,也不晓是因为什么。后来改为jp的源,说实话,jp的源还是相当不错的,速度不错,更新也很及时,但是最近 阅读全文
posted @ 2009-09-04 23:28 jlins 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 关于<Beginning Linux Programming 3ed>近两年来在我的博客里陆续发的一些关于Linux编程的文章是译自Wrox公司的<Beginning Linux Programming 3ed>一书,在此感谢朋友们的支持。另外需要说明的一点就是,记得07年的冬天我在长沙逛书店的时候似乎看到了这本书的中文译本,所以提醒朋友们,如果觉得这本书对自己有用,可以到书店买中文译本来看,想来中文译本会比我的翻译更为专业。算起来尝试翻译这本书似乎已经有两年多的时间了。记得当时还是在学校里面,一次浏览linux.org时,见到旁边的广告里推荐这本书,于是就是网上搜索到并下载下来, 阅读全文
posted @ 2009-08-25 19:00 jlins 阅读(243) 评论(0) 推荐(0) 编辑
摘要: CD数据库程序现在我们可以使用我们在这一章所了解的IPC工具来修改我们的CD数据库程序。我们可以使用三种IPC工具的多种不同组,但是因为我们需要传送的信息很少,直接使用消息队列实现请求的传递是一个很明显的选择。如果我们需要传递的数据量很大,我们可以考虑使用共享内存传递实际的数据,并且使用信号量或是消息来传递一个标记通知其他的进程在共享内存中有数据可用。消息队列接口解决我们了在第11章所遇到的问题,即当数据传递时我们需要两个进程使得管道打开。使用消息队列可以使得一个进程将消息放入队列,尽管这个进程是当前队列的唯一用户。我们需要考虑的一个重要决定就是将答案返回给客户。一个简单的选择就是使得一个队列 阅读全文
posted @ 2009-08-25 18:06 jlins 阅读(357) 评论(0) 推荐(0) 编辑
摘要: 消息队列现在我们来讨论第三种也是最后一种System V IPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上的阻塞。消息队列提供了一种在两个不相关的进程之间传递数据的简单高效的方法。与有名管道比较起来,消息队列的优点在独立于发送与接收进程,这减少了在打开与关闭有名管道之间同步的困难。消息队列提供了一种由一个进程向另一个进程发送块数据的方法。另外,每一个数据块被看作有一个类型,而接收进程可以独立接收具有不同类型的数据块。消息队列的好处在于我们几乎可以完全避免同步问题,并且可以通过 阅读全文
posted @ 2009-08-24 23:33 jlins 阅读(6318) 评论(0) 推荐(0) 编辑
摘要: 共享内存共享内存是第二种IPC工具。他允许两个无关的进程访问相同的逻辑内存。共享内存是在两个运行的程序之间传递数据的有效手段。尽管X/Open标准并没有要求,很可能绝大数的共享内存实现都是会将不同进程之间正在共享的内存安排在相同的物理内存中。共享内存为在多个进程之间共享与传递数据提供一个有效的手段。因为他并没有提供同步的方法,所以通常我们需要使用其他的机制来同步对共享内存的访问。通常,我们也许会使用共享内存来提供对大块内存区的有效访问,并且传递少量的消息来同步对此内存的访问。共享内存是由IPC为一个进程所创建并且出现在这个进程的地址空间中的一段特殊的地址序列。其他的进程可以将同样的共享内存段关 阅读全文
posted @ 2009-08-23 11:51 jlins 阅读(542) 评论(0) 推荐(0) 编辑
摘要: 第14章 信号量,共享内存与消息队列在这一章,我们将会讨论Unix发行版AT&T系统V.2所引入的进程通信工具集合。因为这些程序出现在相关的发行版本中并且具有类似的编程接口,他们通常被称之为IPC程序,或是更为通常的System V IPC。正如我们已经了解到的,他们绝不是进程之间通信的唯一方法,但是System V IPC通常用来指这些特殊的程序。在这一章,我们将会讨论下列内容:用于管理资源访问的信号量用于程序之间高效共享数据的共享内存用于在程序之间简单传递数据的消息队列信号量当我们在多用户系统,多进程系统,或是两者混合的系统中使用线程操作编写程序时,我们经常会发现我们有段临界代码, 阅读全文
posted @ 2009-08-22 08:43 jlins 阅读(328) 评论(0) 推荐(0) 编辑
摘要: Linux Kernel 2.6.30的发布已是很早之前的事情了,而且在其发布后不久就为了尝鲜在自己的机子上编译了2.6.30的内核,无奈fglrx 9.6与9.7都不对其进行支持,无法在新版本的内核下编译安装fglrx驱动,没有办法一直在2.6.29的内核下配合fglrx 9.5进行使用,因而在每次更新时都会期盼fglrx的更新,然而其更新版本都不能进行成功的编译,实是无奈啊!!昨天进行了系统更新,发现fglrx也进行更新,在更新安装完成后第一件事就是尝试编译新版本的fglrx驱动,令人高兴的编译终于成功了,并且在更新相应的文件后成功安装fglrx 9.8,并且在起动后,以前在起动X之前的f 阅读全文
posted @ 2009-08-20 12:11 jlins 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 管道下面是管道实现文件,pipe_imp.c,其中有客户端与服务器端函数。试验--管道实现头文件1 首先是#include:#include "cd_data.h"#include "cliserv.h"2 我们定义一些在此文件的其他函数中所需要的值:static int server_fd = -1;static pid_t mypid = 0;static char client_pipe_name[PATH_MAX + 1] = {‘/0’};static int client_fd = -1;static int client_write_fd 阅读全文
posted @ 2009-08-15 10:49 jlins 阅读(168) 评论(0) 推荐(0) 编辑
上一页 1 ··· 301 302 303 304 305 306 307 308 309 ··· 329 下一页