[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Threading
From:       "Bavo De Ridder" <bavodr () poboxes ! com>
Date:       1999-09-06 20:26:29
[Download RAW message or body]

Hello,

I have a design question concerning the threading library in kimageshop.
When I was trying to generalize the interface so we could dynamically load
the desired threading library, I stumbled over the following problem:
whenever I tried to design a generic interface I always found myself
designing POSIX again. This means that it is very difficult to make the
library generic so a lot of threading libraries can be used.

Currently there are two kinds of threading libraries available:
1)       POSIX implementations, these are standardized in the header files
2)       libaries which don’t follow the POSIX standard and are mostly
unusable for any industrial strength applications.

To conclude: until now I see good reasons not to implement a generic
threading library. Instead we could stick with Pthreads (POSIX threads).
Every platform capable of multithreading supports POSIX threading. Platforms
not supporting POSIX threads often have only very poor and unreliable
alternatives. Userspace level threads are completely unacceptable since they
will actually degrade performance instead of increasing performance.

What do you think about this ?
Bavo De Ridder
bavodr@poboxes.com
+32 (476) 24 58 36


[Attachment #3 (text/html)]

<html xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 9">
<meta name=Originator content="Microsoft Word 9">
<link rel=File-List href="cid:filelist.xml@01BEF8B6.D9796320">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:View>Normal</w:View>
  <w:Zoom>0</w:Zoom>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{mso-style-parent:"";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:4.5pt;
	margin-left:0cm;
	text-align:justify;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:NL-BE;}
h1
	{mso-style-next:Normal;
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:13.5pt;
	margin-left:0cm;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:1;
	font-size:16.0pt;
	font-family:Arial;
	mso-font-kerning:16.0pt;
	mso-ansi-language:NL-BE;}
h2
	{mso-style-next:Normal;
	margin-top:12.0pt;
	margin-right:0cm;
	margin-bottom:4.5pt;
	margin-left:0cm;
	text-align:justify;
	mso-pagination:widow-orphan;
	page-break-after:avoid;
	mso-outline-level:2;
	font-size:14.0pt;
	font-family:Arial;
	mso-ansi-language:NL-BE;
	mso-bidi-font-style:italic;}
p.MsoAutoSig, li.MsoAutoSig, div.MsoAutoSig
	{margin-top:0cm;
	margin-right:0cm;
	margin-bottom:4.5pt;
	margin-left:0cm;
	text-align:justify;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:NL-BE;}
span.EmailStyle15
	{mso-style-type:personal-compose;
	mso-ansi-font-size:10.0pt;
	mso-ascii-font-family:Arial;
	mso-hansi-font-family:Arial;
	mso-bidi-font-family:Arial;
	color:black;}
p.NormalBodyText, li.NormalBodyText, div.NormalBodyText
	{mso-style-name:"Normal Body Text";
	margin-top:0cm;
	margin-right:0cm;
	margin-bottom:4.5pt;
	margin-left:33.75pt;
	text-align:justify;
	mso-pagination:widow-orphan;
	font-size:12.0pt;
	font-family:"Times New Roman";
	mso-fareast-font-family:"Times New Roman";
	mso-ansi-language:NL-BE;}
@page Section1
	{size:595.3pt 841.9pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;
	mso-header-margin:35.4pt;
	mso-footer-margin:35.4pt;
	mso-paper-source:0;}
div.Section1
	{page:Section1;}
 /* List Definitions */
@list l0
	{mso-list-id:335886806;
	mso-list-type:hybrid;
	mso-list-template-ids:-1799294170 67698705 67698713 67698715 67698703 67698713 \
67698715 67698703 67698713 67698715;} @list l0:level1
	{mso-level-text:"%1\)";
	mso-level-tab-stop:36.0pt;
	mso-level-number-position:left;
	text-indent:-18.0pt;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
-->
</style>
</head>

<body lang=EN-GB style='tab-interval:36.0pt'>

<div class=Section1>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span lang=NL-BE style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:Arial'>Hello,<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span lang=NL-BE style='font-size:10.0pt;mso-bidi-font-size:12.0pt;
font-family:Arial'><![if \
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'>I have a design question concerning the
threading library in kimageshop. When I was trying to generalize the interface
so we could dynamically load the desired threading library, I stumbled over the
following problem: whenever I tried to design a generic interface I always
found myself designing POSIX again. This means that it is very difficult to make
the library generic so a lot of threading libraries can be \
used.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'><![if \
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'>Currently there are two kinds of threading
libraries available:<o:p></o:p></span></font></span></p>

<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 \
lfo1; tab-stops:list 36.0pt'><![if !supportLists]><span class=EmailStyle15><font
size=2 color=black face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:
12.0pt;font-family:Arial;mso-ansi-language:EN-GB'>1)<font size=1
face="Times New Roman"><span style='font:7.0pt "Times New \
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
</span></font></span></font></span><![endif]><span class=EmailStyle15><font size=2 \
color=black face=Arial><span style='font-size:10.0pt;mso-bidi-font-size: \
12.0pt;font-family:Arial;mso-ansi-language:EN-GB'>POSIX implementations, these are \
standardized in the header files<o:p></o:p></span></font></span></p>

<p class=MsoNormal style='margin-left:36.0pt;text-indent:-18.0pt;mso-list:l0 level1 \
lfo1; tab-stops:list 36.0pt'><![if !supportLists]><span class=EmailStyle15><font
size=2 color=black face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:
12.0pt;font-family:Arial;mso-ansi-language:EN-GB'>2)<font size=1
face="Times New Roman"><span style='font:7.0pt "Times New \
Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
</span></font></span></font></span><![endif]><span class=EmailStyle15><font size=2 \
color=black face=Arial><span style='font-size:10.0pt;mso-bidi-font-size: \
12.0pt;font-family:Arial;mso-ansi-language:EN-GB'>libaries which don&#8217;t follow \
the POSIX standard and are mostly unusable for any industrial strength \
applications.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'><![if \
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'>To conclude: until now I see good reasons not to
implement a generic threading library. Instead we could stick with Pthreads (POSIX
threads). Every platform capable of multithreading supports POSIX threading.
Platforms not supporting POSIX threads often have only very poor and unreliable
alternatives. Userspace level threads are completely unacceptable since they
will actually degrade performance instead of increasing \
performance.<o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'><![if \
!supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></font></span></p>

<p class=MsoNormal><span class=EmailStyle15><font size=2 color=black
face=Arial><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:
Arial;mso-ansi-language:EN-GB'>What do you think about this \
?<o:p></o:p></span></font></span></p>

<p class=MsoAutoSig><!--[if supportFields]><font color=black><span lang=NL-BE 
style='color:black'><span style='mso-element:field-begin'></span></span></font><font 
color=black><span lang=NL-BE style='color:black;mso-ansi-language:EN-GB'><span 
style="mso-spacerun: yes">&nbsp;</span></span></font><font color=black><span 
style='color:black;mso-ansi-language:EN-GB'>AUTOTEXTLIST \s &quot;E-mail 
Signature&quot; </span><span lang=NL-BE><span \
style='mso-element:field-separator'></span></span></font><![endif]--><font \
color=black><span style='color:black;mso-color-alt:windowtext;mso-ansi-language: \
EN-GB'><o:p></o:p></span></font></p>

<p class=MsoAutoSig><font size=3 color=black face="Times New Roman"><span
lang=NL-BE style='font-size:12.0pt;color:black'>Bavo De Ridder</span></font><font
color=black><span lang=NL-BE \
style='color:black;mso-color-alt:windowtext'><o:p></o:p></span></font></p>

<p class=MsoAutoSig><font size=3 color=black face="Times New Roman"><span
lang=NL-BE style='font-size:12.0pt;color:black'>bavodr@poboxes.com</span></font><font
color=black><span lang=NL-BE \
style='color:black;mso-color-alt:windowtext'><o:p></o:p></span></font></p>

<p class=MsoAutoSig><font size=3 color=black face="Times New Roman"><span
lang=NL-BE style='font-size:12.0pt;color:black'>+32 (476) 24 58 36</span></font><font
color=black><span lang=NL-BE \
style='color:black;mso-color-alt:windowtext'><o:p></o:p></span></font></p>

<p class=MsoNormal><!--[if supportFields]><font color=black><span lang=NL-BE 
style='color:black'><span \
style='mso-element:field-end'></span></span></font><![endif]--><font \
color=black><span lang=NL-BE style='color:black'><![if \
!supportEmptyParas]>&nbsp;<![endif]></span></font><font color=black><span lang=NL-BE \
style='color:black;mso-color-alt:windowtext'><o:p></o:p></span></font></p>

</div>

</body>

</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic