免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6143 | 回复: 7
打印 上一主题 下一主题

postgresql 何时候从进程改变到线程? [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-17 21:38 |只看该作者 |倒序浏览
线程比起进程来有很多吸引人的优点,比如,速度快,占用资源少,很多原来不支持线程的OS也开始纷纷大力投入力量,开发线程库,比如BSD,LINUX,一些UNIX等.

一些大型商业数据库也支持线程,如ORACLE,

可以说,线程是未来的发展方向,但不知道POSTGRESQL开发组,是否把支持线程进入开发计划?

如果从进程改为线程,应该不是很困难,我觉得用1-2年的时间,完成这项工作,那是完全值得期待,大家以为如何?

论坛徽章:
0
2 [报告]
发表于 2006-09-18 09:57 |只看该作者
ORACLE在Windows上是以线程方式实现的,但是在UNIX上面还是以进程方式实现的

不一定用线程的方式就会比用进程的方式好,你看看操作系统里面讲的进程跟线程的优劣吧

论坛徽章:
0
3 [报告]
发表于 2006-09-18 22:09 |只看该作者
一些大型商业数据库也支持线程,如ORACLE,


拜托,本色的Oracle 就是纯进程的。后来移植到WinNT上为了配合Win32,才改成线程。

目前Oracle 除了Win32版本,其他继续保持进程。

论坛徽章:
0
4 [报告]
发表于 2006-09-18 22:11 |只看该作者
如果从进程改为线程,应该不是很困难,我觉得用1-2年的时间


使用线程编程远比进程难以调试,测试。

论坛徽章:
0
5 [报告]
发表于 2006-09-18 22:12 |只看该作者
至于你想的"Postgresql啥时候转成线程",那你先等待Oracle转成线程的那一天。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2006-09-19 13:29 |只看该作者
线程也没有想象那么复杂,关键对共享数据处理时,注意加锁,和解锁,

如果WINDOWS下要处理成百上千个连接用户,用进程的话,那效率是非常低的,并且会消耗大量的内存和资源,同时,也很难想象WINDOWS下开上千个进程会怎样?

在UNIX下用进程,问题确实不算很大,毕竟fork时候,是不产生复制,只有在写的时候才会,但用线程,计算效率应该可以提高好多倍.

论坛徽章:
0
7 [报告]
发表于 2006-09-22 18:04 |只看该作者
1.13) Why don't you use threads, raw devices, async-I/O, <insert your favorite wizz-bang feature here>?

There is always a temptation to use the newest operating system features as soon as they arrive. We resist that temptation.

First, we support 15+ operating systems, so any new feature has to be well established before we will consider it. Second, most new wizz-bang features don't provide dramatic improvements. Third, they usually have some downside, such as decreased reliability or additional code required. Therefore, we don't rush to use new features but rather wait for the feature to be established, then ask for testing to show that a measurable improvement is possible.

As an example, threads are not currently used in the backend code because:

    * Historically, threads were unsupported and buggy.
    * An error in one backend can corrupt other backends.
    * Speed improvements using threads are small compared to the remaining backend startup time.
    * The backend code would be more complex.

So, we are not ignorant of new features. It is just that we are cautious about their adoption. The TODO list often contains links to discussions showing our reasoning in these areas

论坛徽章:
0
8 [报告]
发表于 2006-10-18 11:32 |只看该作者
在UNIX下用进程,问题确实不算很大,毕竟fork时候,是不产生复制,只有在写的时候才会,但用线程,计算效率应该可以提高好多倍.

线程方式只有在多处理器方式下才是比较高效的,个人使用的计算机,在目前还是进程方式较为合适,管理也方便。事实上,Unix在正常情况下CPU的闲置率极高,计算效率不是主要问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP