[Zope-dev] ThreadSafeCounter

Johan Carlsson johanc@torped.se
Tue, 13 Feb 2001 20:13:32 +0100


PiBXb3VsZCBhbnlvbmUgdm9sdW50ZWVyIHRvIHdyaXRlIGEgbW91bnRpbmcgSE9XVE8/ICBUaGlz
IGlzIGEgRkFRLg0KDQpUaGUgRXh0ZXJuYWxNb3VudCBwcm9kdWN0IGlzIGtpbmQgb2Ygc2VsZiBp
bnN0cnVjdGluZywNCmJ1dCBhIGdlbmVyYWwgTW91bnRpbmcgSE9XVE8gd291bGQgYmUgYSBnb29k
IHRoaW5nLg0KDQo+ID4gRmlsZVN0b3JhZ2UgaXMgd2hhdCB0aGUgc3RhbmRhcmQgRGF0YS5mcyBp
cywgYW5kIGl0IHN1cHBvcnRzIHVuZG8uDQoNCkp1c3Qgb25lIHRoaW5nLCBFeHRlcm5hbE1vdW50
IHByb2R1Y3QgdXNlcyBGaWxlU3RvcmFnZSBidXQgaXQgZG9lc24ndA0Kc2VlbSB0byBzdXBwb3J0
IHVuZG9zIChub3QgZm9yIG1lIGFueXdheSk/DQoNCkpvaGFuIENhcmxzc29uDQoNCg0KPEZyb20g
dGhlIEV4dGVybmFsTW91bnQgcHJvZHVjdD4NCkNyZWF0ZSBhbiBleHRlcm5hbCBtZXRob2QgdGhh
dCBvcGVucyBhIHN0b3JhZ2UgYW5kIHJldHVybnMgYSBaT0RCLkRCDQpvYmplY3QuICBFbnRlciB0
aGUgbW9kdWxlIGFuZCBmdW5jdGlvbiBuYW1lIGJlbG93LCBhbG9uZyB3aXRoIHRoZSBwYXRoIHRv
DQp0cmF2ZXJzZSB3aXRoaW4gdGhlIGRhdGFiYXNlIHRvIHJlYWNoIHRoZSBvYmplY3QgdG8gYmUg
bW91bnRlZC4NCg0KQW4gZXhhbXBsZSBleHRlcm5hbCBtZXRob2Q6DQoNCmltcG9ydCBaT0RCDQpm
cm9tIFpPREIuRmlsZVN0b3JhZ2UgaW1wb3J0IEZpbGVTdG9yYWdlDQoNCmRlZiBjcmVhdGVEQigp
Og0KICAgIHJldHVybiBaT0RCLkRCKEZpbGVTdG9yYWdlKCcvdXNyL2xvY2FsL3pvZGJzL2RiMS5m
cycpKQ0KPEZyb20gdGhlIEV4dGVybmFsTW91bnQgcHJvZHVjdD4NCg0KIA0KPiANCj4gPiBBbmR5
IE1jS2F5IHdyb3RlOg0KPiA+DQo+ID4gPj4gQSBzaW1wbGVyIHNvbHV0aW9uIGlzIHRvIHVzZSBh
IG1vdW50ZWQgc3RvcmFnZSB0aGF0IGRvZXNuJ3QgZG8gdW5kbywNCj4gYW5kDQo+ID4gPj4gc3Rv
cmVzIGNoYW5nZXMgaW4gcGxhY2UuDQo+ID4gPg0KPiA+ID4gWW91IGFyZSB0aGUgc2Vjb25kIHBl
cnNvbiB0byBhbnN3ZXIgd2l0aCB0aGF0LiBXb3VsZCBhbnlvbmUgY2FyZSB0byBnaXZlDQo+IGEN
Cj4gPiA+IHF1aWNrIGhvdy10byBvbiBob3cgdG8gbW91bnQgYSBub24tdW5kb2luZyBzdG9yYWdl
LCBzdWNoIGFzICAgICANCj4gPg0KPiA+IEZpbGVTdG9yYWdlIGlzIHdoYXQgdGhlIHN0YW5kYXJk
IERhdGEuZnMgaXMsIGFuZCBpdCBzdXBwb3J0cyB1bmRvLg0KPiA+DQo+ID4gPiBzaW5jZSB0aGlz
IGRvZXNudCBzZWVtIGltbWVkaWF0ZWx5IG9idmlvdXMgdG8gbWUuDQo+ID4NCj4gPiBUYWtlIGEg
bG9vayBhdCBFeHRlcm5hbE1vdW50LCBhbmQgYXQgd2hhdCdzIHVzZWQgaW4gdGhlDQo+IENvcmVT
ZXNzaW9uVHJhY2tpbmcgcHJvZHVjdC4NCj4gPg0KPiA+IEkgY2FuJ3QgZmluZCBhIFVSTCBmb3Ig
RXh0ZXJuYWxNb3VudCBhdCB0aGUgbW9tZW50LiBJJ20gdXNpbmcgaXQgdGhvdWdoLA0KPiBzbyBp
dCAqZGVmaW5pdGVseSogZXhpc3RzIQ0KPiA+DQo+ID4NCj4gPiBBbHNvLCBzZWUgbGliL3B5dGhv
bi9aT0RCL2RibVN0b3JhZ2UucHkNCj4gPg0KPiA+ICIiIlZlcnkgU2ltcGxlIGRibS1iYXNlZCBa
T0RCIHN0b3JhZ2UNCj4gPg0KPiA+IFRoaXMgc3RvcmFnZSBwcm92aWRlcyBmb3IgdXNlIG9mIGRi
bSBmaWxlcyBhcyBzdG9yYWdlcyB0aGF0DQo+ID4gZG9uJ3Qgc3VwcG9ydCB2ZXJzaW9ucyBvciBV
bmRvLiAgVGhpcyBtYXkgYmUgdXNlZnVsIHdoZW4gaW1wbGVtZW50aW5nDQo+ID4gb2JqZWN0cyBs
aWtlIGhpdCBjb3VudGVycyB0aGF0IGRvbid0IG5lZWQgb3Igd2FudCB0byBwYXJ0aWNpcGF0ZQ0K
PiA+IGluIHVuZG8gb3IgdmVyc2lvbnMuDQo+ID4gIiIiDQo+ID4NCj4gPiAtLQ0KPiA+IFN0ZXZl
IEFsZXhhbmRlcg0KPiA+IFNvZnR3YXJlIEVuZ2luZWVyDQo+ID4gQ2F0LUJveCBsaW1pdGVkDQo+
ID4gaHR0cDovL3d3dy5jYXQtYm94Lm5ldA0KPiA+DQo+ID4NCj4gPg0KPiA+IF9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gWm9wZS1EZXYgbWFpbGxp
c3QgIC0gIFpvcGUtRGV2QHpvcGUub3JnDQo+ID4gaHR0cDovL2xpc3RzLnpvcGUub3JnL21haWxt
YW4vbGlzdGluZm8vem9wZS1kZXYNCj4gPiAqKiAgTm8gY3Jvc3MgcG9zdHMgb3IgSFRNTCBlbmNv
ZGluZyEgICoqDQo+ID4gKFJlbGF0ZWQgbGlzdHMgLQ0KPiA+ICBodHRwOi8vbGlzdHMuem9wZS5v
cmcvbWFpbG1hbi9saXN0aW5mby96b3BlLWFubm91bmNlDQo+ID4gIGh0dHA6Ly9saXN0cy56b3Bl
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3pvcGUgKQ0KPiA+DQo+IA0KPiANCj4gX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gWm9wZS1EZXYgbWFpbGxpc3Qg
IC0gIFpvcGUtRGV2QHpvcGUub3JnDQo+IGh0dHA6Ly9saXN0cy56b3BlLm9yZy9tYWlsbWFuL2xp
c3RpbmZvL3pvcGUtZGV2DQo+ICoqICBObyBjcm9zcyBwb3N0cyBvciBIVE1MIGVuY29kaW5nISAg
KioNCj4gKFJlbGF0ZWQgbGlzdHMgLSANCj4gIGh0dHA6Ly9saXN0cy56b3BlLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL3pvcGUtYW5ub3VuY2UNCj4gIGh0dHA6Ly9saXN0cy56b3BlLm9yZy9tYWlsbWFu
L2xpc3RpbmZvL3pvcGUgKQ0KPiANCg==