Sponsored Content
Top Forums Programming Multi threading using posix thread library Post 27814 by shushilmore on Saturday 7th of September 2002 02:58:45 AM
Old 09-07-2002
Multi threading using posix thread library

hi all,
can anyone tell me some good site for the mutithreading tutorials, its application, and some code examples.

-sushil
 

10 More Discussions You Might Find Interesting

1. Programming

Multi-threading questions

I've been doing some reading lately about threading (Posix threads) and I'm really curious about a couple things that I've read. I'm not sure if many people here have threading experience, but I thought it would be nice to be able to discuss some questions about it. (For the record, I did... (1 Reply)
Discussion started by: DreamWarrior
1 Replies

2. Programming

Multi threading using fork

Hi, I have written a code which will run a set of process using fork. I want to know from You how can i start another job when one of my job in my loop is completed My code is #include<stdio.h> #include<ctype.h> main() { int pid,cid; ChildProcess(); ... (1 Reply)
Discussion started by: sureshraju_ma
1 Replies

3. Programming

About Native POSIX Thread Library (NPTL)

Is there anybody has documents about NPTL I wanna study about it , but can't find the documents.... anyone help appreciate :) :) :) (1 Reply)
Discussion started by: alan.zhao
1 Replies

4. Programming

Regarding Multi-Threading

Hi All, Here's my question I have a 385 MB file containing 5,000,000 records. I need to read from the file and load into a table. Initially i thought of doing it in a single thread (execution of a single program) but when calculated accounted 16 hours of time on a standard benchmark. Hence... (5 Replies)
Discussion started by: matrixmadhan
5 Replies

5. Programming

Multi threading?

I am not sure if multi threading is the correct term, but here is what I am trying to do. I have a while loop that displays the number 1, pauses, displays the number 2, pauses , displays the number 3 ad infinitum. It just keeps counting. While the screen displays the sequence of numbers counting... (4 Replies)
Discussion started by: enuenu
4 Replies

6. Ubuntu

Does Posix support kernel level threading?

Hi All, Please let me know the following. 1) Does POSIX lib support kernel threads? if yes, please let me know what are the specific function calls used to create/manage kernel threads. 2) Is Posix scalable? 3) Does POSIX take the advantage of multiprocessor systems? your help is much... (4 Replies)
Discussion started by: jayfriend
4 Replies

7. Programming

Multi-threading

Hi, If we create 10 threads to invoke runQuery method at same time, Will queryProcessor will be overriden sometime or 10 different copies will be created? We are not using any sunchronzation mechnism in runQuery(). so there is not gurantee on QueryProcessor class variables right OR each 10... (1 Reply)
Discussion started by: jramesh1
1 Replies

8. Programming

Multi-threading

In this piece i implemented the gossip method. The first thread is invoked from inside the (msg is first sent from node -1 to 0 from main()) and the other threads are invoked from inside of the thread function itself. I used two mutexes and a condition variable to control the synchronization. ... (4 Replies)
Discussion started by: saman_glorious
4 Replies

9. UNIX for Dummies Questions & Answers

Confusion over Multi Threading

Hi, I am trying to get my head round Multi Threading and I have a few queries to try and clear up my confusion Q1. Is multi threading a hardware / chip level concept, an OS level or an application level concept ? I am trying to work out where SMT architecture fits in. Q2. What's the multi... (3 Replies)
Discussion started by: jimthompson
3 Replies

10. UNIX for Beginners Questions & Answers

Multi threading in UNIX

Hi, Can we apply multi threading in Unix. I am using bash shell. We have a generic script to load the data to table based on file input. For each file there is an individual table to load. For each file found in directory I want to load the data in parallel to target table using ... (3 Replies)
Discussion started by: vedanta
3 Replies
common(3x)						   AfterStep X11 window manager 						common(3x)

NAME
common - common functions used in other examples libAfterImage/tutorials/common.h SYNOPSIS
Generic Xlib related functionality, common for all the tutorials. SEE ALSO
libAfterImage, ASView, ASScale, ASTile, ASMerge, ASGrad, ASFlip, ASText libAfterImage/tutorials/_XA_WM_DELETE_WINDOW NAME_XA_WM_DELETE_WINDOW SYNOPSIS
_XA_WM_DELETE_WINDOW - stores value of X Atom "WM_DELETE_WINDOW". DESCRIPTION
In X all client's top level windows are managed by window manager. That includes moving, resizing, decorating, focusing and closing of windows. Interactions between window manager and client window are governed by ICCCM specification. All the parts of this specification are completely optional, but it is recommended that the following minimum set of hints be supplied for any client window: Window's title(WM_NAME), iconified window title(WM_ICON_NAME), class hint (WM_CLASS) and supported protocols (WM_PROTOCOLS). It is recommended also that WM_DELETE_WINDOW protocol be supported, as otherwise there are no way to safely close client window, but to kill it. All of the above mentioned hints are identified by atoms that have standard preset values, except for WM_DELETE_WINDOW. As the result we need to obtain WM_DELETE_WINDOW atoms ID explicitly. We use _XA_WM_DELETE_WINDOW to store the ID of that atom, so it is accessible anywhere from our application. SOURCE
Atom _XA_WM_DELETE_WINDOW = None; libAfterImage/tutorials/create_top_level_window() NAMEcreate_top_level_window() SYNOPSIS
Window create_top_level_window( ASVisual *asv, Window root, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, unsigned long attr_mask, XSetWindowAttributes *attr, char *app_class ); INPUTS
asv - pointer to valid preinitialized ASVisual structure. root - root window of the screen on which to create window. x, y - desired position of the window width, height - desired window size. border_width - desired initial border width of the window (may not have any effect due to Window Manager intervention. attr_mask - mask of the attributes that has to be set on the window attr - values of the attributes to be set. app_class - title of the application to be used as its window Title and resources class. RETURN VALUE
ID of the created window. DESCRIPTION
create_top_level_window() is autyomating process of creating top level application window. It creates window for specified ASVisual, and then sets up basic ICCCM hints for that window, such as WM_NAME, WM_ICON_NAME, WM_CLASS and WM_PROTOCOLS. SOURCE
Window create_top_level_window( ASVisual *asv, Window root, int x, int y, unsigned int width, unsigned int height, unsigned int border_width, unsigned long attr_mask, XSetWindowAttributes *attr, const char *app_class, const char *app_name ) { Window w = None; #ifndef X_DISPLAY_MISSING char *tmp ; XTextProperty name; XClassHint class1; w = create_visual_window(asv, root, x, y, width, height, border_width, InputOutput, attr_mask, attr ); tmp = (app_name==NULL)?(char*)get_application_name():(char*)app_name; XStringListToTextProperty (&tmp, 1, &name); class1.res_name = tmp; /* for future use */ class1.res_class = (char*)app_class; XSetWMProtocols (asv->dpy, w, &_XA_WM_DELETE_WINDOW, 1); XSetWMProperties (asv->dpy, w, &name, &name, NULL, 0, NULL, NULL, &class1); /* final cleanup */ XFree ((char *) name.value); #endif /* X_DISPLAY_MISSING */ return w; } libAfterImage/tutorials/set_window_background_and_free() NAMEset_window_background_and_free() SYNOPSIS
Pixmap set_window_background_and_free( Window w, Pixmap p ); INPUTS
w - ID of the window background of which we need to set. p - Pixmap to set background to. RETURN VALUE
None on success. Pixmap ID of original Pixmap on failure. DESCRIPTION
set_window_background_and_free() will set window's background to specified Pixmap, Then refresh window contents so that background is drawn by the server, flush all the requests to force it to be sent to server to be processed as fast as possible. NOTES
After Window's background has been set to Pixmap - X server makes hidden copy of this Pixmap for later window refreshing. As the result original Pixmap is no longer needed and can be freed to conserve resources. SOURCE
Pixmap set_window_background_and_free( Window w, Pixmap p ) { #ifndef X_DISPLAY_MISSING if( p != None && w != None ) { Display *dpy = get_default_asvisual()->dpy; if (dpy) { XSetWindowBackgroundPixmap( dpy, w, p ); XClearWindow( dpy, w ); XFlush( dpy ); XFreePixmap( dpy, p ); p = None ; } } #endif /* X_DISPLAY_MISSING */ return p ; } libAfterImage/tutorials/wait_closedown() NAMEwait_closedown() SYNOPSIS
void wait_closedown( Window w ); INPUTS
w - ID of the window from which to wait for events. DESCRIPTION
User action requesting window to be closed is generally received first by Window Manager. Window Manager is then handles it down to the window by sending it ClientMessage event with first 32 bit word of data set to the value of WM_DELETE_WINDOW Atom. Accordingly, all client has to do is wait for such event from X server and, when received, it should destroy its window and generally exit. NOTES
It is recommended that XFlush() is issued right after XDestroyWindow() as Window Manager itself may attempt to do something with the window until it receives DestroyNotify event. SEE ALSO
ICCCM, Window SOURCE
void wait_closedown( Window w ) { #ifndef X_DISPLAY_MISSING Display *dpy = get_default_asvisual()->dpy; if(dpy) { if (w) { XSelectInput (dpy, w, ( StructureNotifyMask | ButtonPressMask| ButtonReleaseMask)); while(w != None) { XEvent event ; XNextEvent (dpy, &event); switch(event.type) { case ClientMessage: if ((event.xclient.format != 32) || (event.xclient.data.l[0] != _XA_WM_DELETE_WINDOW)) break ; case ButtonPress: XDestroyWindow( dpy, w ); XFlush( dpy ); w = None ; break ; } } } XCloseDisplay (dpy); } #endif } 3rd Berkeley Distribution AfterStep v.2.2.11 common(3x)
All times are GMT -4. The time now is 11:28 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy