Blog Archive for / news /
"Introduction to Variadic Templates in C++0x" Article Online
Thursday, 07 May 2009
My latest article, Introduction to Variadic Templates in C++0x has been published at devx.com.
This article introduces the syntax for declaring and using variadic templates, along with some simple examples of variadic function templates and variadic class templates.
Posted by Anthony Williams
[/ news /] permanent link
Tags: article, variadic templates, C++0x
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
Designing Multithreaded Applications with C++0x: ACCU 2009 Slides
Tuesday, 28 April 2009
The ACCU 2009 conference has now finished, and life is getting back to normal. My presentation on "Designing Multithreaded Programs with C++0x" was well attended and I had a few people come up to me afterwards to say they enjoyed it, which is always nice.
Anyway, the purpose of this post is to say that the slides
are now up. I've also posted the sample
code for the Concurrent Queue and Numerical Integration
demonstrations that I did using our just::thread
implementation of the C++0x thread library.
Posted by Anthony Williams
[/ news /] permanent link
Tags: concurrency, threading, accu, C++0x
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
just::thread discount for ACCU 2009
Monday, 20 April 2009
As I mentioned back in January, I will be speaking on "Designing Multithreaded Applications with C++0x" at ACCU 2009 on Thursday.
To coincide with my presentation, our C++0x thread library, just::thread is
available at a 25%
discount until the 4th May 2009. just::thread
provides implementations of the C++0x thread library facilities such
as std::thread,
std::mutex,
std::unique_future<>
and std::atomic<>. The
current release works with Microsoft Visual Studio 2008, and gcc/linux
support will be available soon — it is currently undergoing
alpha testing.
Posted by Anthony Williams
[/ news /] permanent link
Tags: concurrency, threading, accu, C++0x, just::thread
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
Designing Multithreaded Applications with C++0x: ACCU 2009
Tuesday, 13 January 2009
The schedule for ACCU 2009 in Oxford was announced earlier today, and I am pleased to say that I will be speaking on "Designing Multithreaded Applications with C++0x" on Thursday 23rd April 2009.
As has become customary, the main conference will run from Wednesday to Saturday, with a day of pre-conference workshops on Tuesday 21st April 2009. There is a whole host of well-known speakers, including "Uncle Bob" Martin, Linda Rising, Michael Feathers and Andrei Alexandrescu, so the conference should be excellent value, as ever.
If you book before the end of February, you can take advantage of the "Early Bird" rates.
I hope to see you there!
Posted by Anthony Williams
[/ news /] permanent link
Tags: concurrency, threading, accu, C++0x
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
just::thread C++0x Thread Library V1.0 Released
Thursday, 08 January 2009
I am pleased to announce that version 1.0 of just::thread, our C++0x Thread Library is now available.
The just::thread library is a complete implementation
of the new C++0x thread library as per the current
C++0x working paper. Features include:
std::threadfor launching threads.- Mutexes and condition variables.
std::promise,std::packaged_task,std::unique_futureandstd::shared_futurefor transferring data between threads.- Support for the new
std::chronotime interface for sleeping and timeouts on locks and waits. - Atomic operations with
std::atomic. - Support for
std::exception_ptrfor transferring exceptions between threads. - Special deadlock-detection mode for tracking down the call-stack leading to deadlocks, the bane of multithreaded programming.
The library works with Microsoft Visual Studio 2008 or Microsoft
Visual C++ 2008 Express for 32-bit Windows. Don't wait for a full
C++0x compiler: Buy your copy of
just::thread now and start using the C++0x thread
library in minutes.
Posted by Anthony Williams
[/ news /] permanent link
Tags: multithreading, concurrency, C++0x
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
The Most Popular Articles of 2008
Monday, 05 January 2009
Five days into 2009, here's a list of the 10 most popular articles on the Just Software Solutions website for 2008. There's a few entries still there from last year (in particular, last year's most top entry on CSS menus is now number 2), but mostly it's new content. In 2008 I focused much more on C++0x and concurrency, and the list of popular articles reflects that.
- Implementing
a Thread-Safe Queue using Condition Variables
A description of the issues around writing a thread-safe queue, with code. - Implementing
drop-down menus in pure CSS (no JavaScript)
How to implement drop-down menus in CSS in a cross-browser fashion (with a teensy bit of JavaScript for IE). - 10
Years of Programming with POSIX Threads
A review of "Programming with POSIX Threads" by David Butenhof, 10 years after publication. - Thread
Interruption in the Boost Thread Library
A description of the thread interruption feature of the Boost Thread library. - Introduction
to C++ Templates (PDF)
How to use and write C++ templates. - Memory
Models and Synchronization
A brief description of the relaxed memory orderings of the C++0x memory model - Deadlock
Detection with just::thread
How to use thejust::threadC++0x thread library to detect the origin of deadlocks in your code. - Rvalue
References and Perfect Forwarding in C++0x
An introduction to the new rvalue reference feature of C++0x. - October
2008 C++ Standards Committee Mailing - New C++0x Working Paper, More
Concurrency Papers Approved
My summary of the October 2008 C++ committee mailing featuring the first feature-complete draft of the C++0x standard. - Condition
Variable Spurious Wakes
An introduction to the consequences of the so-called "spurious wakes" that you can get with condition variables, and how to handle them.
Posted by Anthony Williams
[/ news /] permanent link
Tags: popular, articles
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
First Review of C++ Concurrency in Action
Monday, 24 November 2008
A Dean Michael Berris has just published the first review of C++ Concurrency in Action that I've seen over on his blog. Thanks for your kind words, Dean!
C++ Concurrency in Action is not yet finished, but you can buy a copy now under the Manning Early Access Program and you'll get a PDF with the current chapters (plus updates as I write new chapters) and either a PDF or hard copy of the book (your choice) when it's finished.
Posted by Anthony Williams
[/ news /] permanent link
Tags: review, C++, cplusplus, concurrency, book
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
Detect Deadlocks with just::thread C++0x Thread Library Beta V0.2
Saturday, 01 November 2008
I am pleased to announce that the second beta of just::thread, our C++0x Thread Library is
available, which now features deadlock detection for uses of
std::mutex. You can sign up at the just::thread Support
forum to download the beta or send an email to beta@stdthread.co.uk.
The just::thread library is a complete implementation
of the new C++0x thread library as per the current
C++0x working paper. Features include:
std::threadfor launching threads.- Mutexes and condition variables.
std::promise,std::packaged_task,std::unique_futureandstd::shared_futurefor transferring data between threads.- Support for the new
std::chronotime interface for sleeping and timeouts on locks and waits. - Atomic operations with
std::atomic. - Support for
std::exception_ptrfor transferring exceptions between threads. - New in beta 0.2: support for detecting deadlocks with
std::mutex
The library works with Microsoft Visual Studio 2008 or Microsoft Visual C++ 2008 Express for 32-bit Windows. Don't wait for a full C++0x compiler: start using the C++0x thread library today.
Sign up at the just::thread Support forum to download the beta.
Posted by Anthony Williams
[/ news /] permanent link
Tags: multithreading, concurrency, C++0x
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
just::thread C++0x Thread Library Beta V0.1 Released
Thursday, 16 October 2008
I am pleased to announce that just::thread, our C++0x Thread Library is now available as a beta release. You can sign up at the just::thread Support forum to download the beta or send an email to beta@stdthread.co.uk.
Currently, it only works with Microsoft Visual Studio 2008 or Microsoft Visual C++ 2008 Express for 32-bit Windows, though support for other compilers and platforms is in the pipeline.
Though there are a couple of limitations (such as the number of
arguments that can be supplied to a thread function, and the lack of
custom allocator support for std::promise), it is a
complete implementation of the new C++0x thread library as per the
current
C++0x working paper. Features include:
std::threadfor launching threads.- Mutexes and condition variables.
std::promise,std::packaged_task,std::unique_futureandstd::shared_futurefor transferring data between threads.- Support for the new
std::chronotime interface for sleeping and timeouts on locks and waits. - Atomic operations with
std::atomic. - Support for
std::exception_ptrfor transferring exceptions between threads.
Please sign up and download the beta today. The library should be going on sale by the end of November.
Please report bugs on the just::thread Support Forum or email to beta@stdthread.co.uk.
Posted by Anthony Williams
[/ news /] permanent link
Tags: multithreading, concurrency, C++0x
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?
"Deadlock: The Problem and a Solution" Book Excerpt Online
Wednesday, 01 October 2008
An excerpt from my book C++ Concurrency in Action
has been published on CodeGuru. Deadlock:
the Problem and a Solution describes what deadlock is and how the
std::lock() function can be used to avoid it where
multiple locks can be acquired at once. There are also some simple
guidelines for avoiding deadlock in the first place.
The C++0x library facilities mentioned in the article
(std::mutex, std::lock(),
std::lock_guard and std::unique_lock) are
all available from the Boost
Thread Library in release 1.36.0 and later.
Posted by Anthony Williams
[/ news /] permanent link
Tags: multithreading, c++, deadlock, concurrency
Stumble It!
| Submit to Reddit
| Submit to DZone ![]()
If you liked this post, why not subscribe to the RSS feed
or Follow me on Twitter?